Re: Migrating arm(v7) to LLD_BOOTSTRAP
On 17.01.2018 2:41, Warner Losh wrote: On Tue, Jan 16, 2018 at 4:45 PM, Ed Maste wrote: With the update to Clang/LLVM/lld 6.0.0 I believe lld is nearly ready to be used as the system linker for armv7, and I plan to enable LLD_BOOTSTRAP by default after a couple of WIP patches land and after a little more testing. This may happen a week or two from now. This should have little impact on port builds, because /usr/bin/ld will still be GNU ld.bfd (although there may be some unexpected fallout). I expect to enable LLD_IS_LD by default a little later, and /usr/bin/ld will then be lld. This is the same path we're taking with amd64. lld currently does not support architectures prior to armv7, and fails with some combination of these errors when I try to use it for arm{,v5,v6,eb}: ld: error: lld uses blx instruction, no object with architecture supporting feature detected. ld: error: lld uses extended branch encoding, no object with architecture supporting feature detected. ld: error: lld may use movt/movw, no object with architecture supporting feature detected. But this means that we can not use lld for kernel module linking. (assuming that lld can emits movt/movw with attached relocation). To be more exact, not until we change format of kernel modules from (many years outdated, -Bshareable without -fPIC) shared library format to fully supported "combined object file" format. Michal I expect this will be addressed in a future version of lld. At least some of that is due to the gap size that's defined for all of ARM. With a smaller gap size, the trampolines will work better on older ARM gear Warner ___ freebsd-...@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-arm To unsubscribe, send any mail to "freebsd-arm-unsubscr...@freebsd.org" ___ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"
Re: Migrating arm(v7) to LLD_BOOTSTRAP
On Tue, Jan 16, 2018 at 4:45 PM, Ed Maste wrote: > With the update to Clang/LLVM/lld 6.0.0 I believe lld is nearly ready > to be used as the system linker for armv7, and I plan to enable > LLD_BOOTSTRAP by default after a couple of WIP patches land and after > a little more testing. This may happen a week or two from now. This > should have little impact on port builds, because /usr/bin/ld will > still be GNU ld.bfd (although there may be some unexpected fallout). > > I expect to enable LLD_IS_LD by default a little later, and > /usr/bin/ld will then be lld. This is the same path we're taking with > amd64. > > lld currently does not support architectures prior to armv7, and fails > with some combination of these errors when I try to use it for > arm{,v5,v6,eb}: > > ld: error: lld uses blx instruction, no object with architecture > supporting feature detected. > ld: error: lld uses extended branch encoding, no object with > architecture supporting feature detected. > ld: error: lld may use movt/movw, no object with architecture > supporting feature detected. > > I expect this will be addressed in a future version of lld. > At least some of that is due to the gap size that's defined for all of ARM. With a smaller gap size, the trampolines will work better on older ARM gear Warner ___ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"
Migrating arm(v7) to LLD_BOOTSTRAP
With the update to Clang/LLVM/lld 6.0.0 I believe lld is nearly ready to be used as the system linker for armv7, and I plan to enable LLD_BOOTSTRAP by default after a couple of WIP patches land and after a little more testing. This may happen a week or two from now. This should have little impact on port builds, because /usr/bin/ld will still be GNU ld.bfd (although there may be some unexpected fallout). I expect to enable LLD_IS_LD by default a little later, and /usr/bin/ld will then be lld. This is the same path we're taking with amd64. lld currently does not support architectures prior to armv7, and fails with some combination of these errors when I try to use it for arm{,v5,v6,eb}: ld: error: lld uses blx instruction, no object with architecture supporting feature detected. ld: error: lld uses extended branch encoding, no object with architecture supporting feature detected. ld: error: lld may use movt/movw, no object with architecture supporting feature detected. I expect this will be addressed in a future version of lld. ___ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"