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
F152847973: D7762.id22485.diff
Fri, Apr 17, 12:04 PM
Unknown Object (File)
Thu, Apr 16, 11:02 AM
Unknown Object (File)
Thu, Apr 16, 2:52 AM
Unknown Object (File)
Wed, Apr 15, 12:17 PM
Unknown Object (File)
Mon, Apr 6, 11:24 AM
Unknown Object (File)
Mon, Apr 6, 11:00 AM
Unknown Object (File)
Thu, Apr 2, 2:51 AM
Unknown Object (File)
Wed, Apr 1, 4:31 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