Skip site navigation (1)Skip section navigation (2)
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>