Page MenuHomeFreeBSD

install lld as /usr/bin/ld on arm64
ClosedPublic

Authored by emaste on Sep 2 2016, 5:24 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Mar 22, 8:03 AM
Unknown Object (File)
Jan 19 2024, 6:16 PM
Unknown Object (File)
Dec 20 2023, 12:29 AM
Unknown Object (File)
Oct 6 2023, 1:15 PM
Unknown Object (File)
Aug 26 2023, 11:20 PM
Unknown Object (File)
Aug 15 2023, 5:56 AM
Unknown Object (File)
Jul 5 2023, 11:32 PM
Unknown Object (File)
Jun 29 2023, 10:24 PM
Subscribers
None

Details

Summary

We do not have an in-tree binutils linker on arm64, so this should allow us to at least build some software to facilitate bootstrapping (e.g. lld should be able to link itself, Clang/LLVM, GNU binutils).

Posting for discussion. I wouldn't commit this until after the clang390-import branch is merged to head, and further testing.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

emaste retitled this revision from to install lld as /usr/bin/ld on arm64.
emaste updated this object.
emaste edited the test plan for this revision. (Show Details)
emaste added reviewers: dim, andrew, bdrewery.

Does it work as ld? When I tried it required you to execute it as ld.lld

Does it work as ld? When I tried it required you to execute it as ld.lld

For now (in the version in clang390-import) I've removed all of the non-GNU linker emulation and changed main to just return !elf::link(Args); so it always behaves as GNU ld.

dim edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Sep 3 2016, 9:55 AM
emaste edited edge metadata.

Turn it into a proper WITH_/WITHOUT_ knob so that it can also be used for testing on other architectures

This revision now requires review to proceed.Nov 25 2016, 2:24 AM
dim edited edge metadata.

Still LGTM.

This revision is now accepted and ready to land.Nov 25 2016, 9:05 AM