Date: Wed, 17 Jan 2018 06:35:12 +0100 From: Michal Meloun <melounmichal@gmail.com> To: Warner Losh <imp@bsdimp.com>, Ed Maste <emaste@freebsd.org> Cc: "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>, "freebsd-toolchain@FreeBSD.org" <freebsd-toolchain@freebsd.org> Subject: Re: Migrating arm(v7) to LLD_BOOTSTRAP Message-ID: <b69875b2-81f1-16f8-8926-121b5d50f782@gmail.com> In-Reply-To: <CANCZdfq2S8Ex0td0P0ATLyo7rmUFMBxT%2BA1Pn%2BGr7gKQvY_eUQ@mail.gmail.com> References: <CAPyFy2DCHHPqr96wmgCbtoBOmH7P-baLxVY9GCEZQeb=874EcQ@mail.gmail.com> <CANCZdfq2S8Ex0td0P0ATLyo7rmUFMBxT%2BA1Pn%2BGr7gKQvY_eUQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 17.01.2018 2:41, Warner Losh wrote: > On Tue, Jan 16, 2018 at 4:45 PM, Ed Maste <emaste@freebsd.org> 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-arm@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-arm > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b69875b2-81f1-16f8-8926-121b5d50f782>