Broken arm support in clang now?
Mark Millard
marklmi at yahoo.com
Thu Aug 16 14:14:41 UTC 2018
On 2018-Aug-16, at 6:38 AM, Ed Maste <emaste at freebsd.org> wrote:
> On 11 August 2018 at 20:45, Mark Millard via freebsd-toolchain
> <freebsd-toolchain at freebsd.org> wrote:
>>
>> Is the link command itself available? (The .../sys/*/kernel.full.meta
>> likely has it if it is still around.)
>
> I tried a tinderbox build right now and saw the lld warnings from
> linking zfs.ko. It appears to be fallout from the change to build
> clang and lld only once for tinderbox, because we're invoking ld from
> the ${HOST_TARGET} path:
>
> /scratch/tmp/emaste/obj/scratch/tmp/emaste/freebsd/freebsd11-amd64/tmp/usr/bin/ld
> -m armelf_fbsd -Bshareable -znotext -d -warn-common --build-id=sha1
> -o zfs.ko.full zfs.kld
> /scratch/tmp/emaste/obj/scratch/tmp/emaste/freebsd/freebsd11-amd64/tmp/usr/bin/ld:
> warning: lld uses extended branch encoding, no object with
> architecture supporting feature detected.
> /scratch/tmp/emaste/obj/scratch/tmp/emaste/freebsd/freebsd11-amd64/tmp/usr/bin/ld:
> warning: lld may use movt/movw, no object with architecture supporting
> feature detected.
So ld.lld is not a valid cross linker for some arm variants? A
architecture specific bootstrap one is needed?
Is this because armelf_fbsd is not specific enough to
identify the accurate target emulation? Is it because
the .o's are not sufficient for that identification?
Note: I got the questions from reading the output in:
# ld.lld
ld.lld: error: no input files
ld.lld: error: target emulation unknown: -m or at least one .o file required
So it appears that -m and/or .o's are used to identify targets.
I'm not clear on the criteria when both are present.
(ld.lld does not take -target as an argument.)
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-toolchain
mailing list