Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Aug 2018 08:16:26 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        Ed Maste <emaste@freebsd.org>,  "freebsd-toolchain@FreeBSD.org" <freebsd-toolchain@freebsd.org>, Dimitry Andric <dim@freebsd.org>
Subject:   Re: Broken arm support in clang now?
Message-ID:  <CANCZdfpFr3vZYt9SS46wtutEdXR7e3QqS2WiFA2usrkrqAY%2B3w@mail.gmail.com>
In-Reply-To: <86844298-1268-4F5E-A6CD-64CADC022FB9@yahoo.com>
References:  <CANCZdfpmDN-nAkViuEx-tKpPhOdRYX=xNu6s8E2o6F4xC2WPnA@mail.gmail.com> <1880880F-9D9D-47E0-A7A4-5369A3770F89@FreeBSD.org> <CANCZdfpF9ND_k2xvZrsDebsZ07p2RU0Lebp5GDtmxnjdXc=N-A@mail.gmail.com> <A5B46840-B508-4F40-9EFD-50D0439EBAC7@FreeBSD.org> <8B467E75-A6D3-41A5-8EA1-4DDFE0E14CC5@nexustechnology.com> <CANCZdfq4NmT6_W9MwSMC8r4fQfxW8fWyh1pOX5snnVLNEvew9A@mail.gmail.com> <230C1E7D-04DB-4E45-8A40-F6B2F5E557E9@yahoo.com> <CAPyFy2DW86vT2bJBpoznCkB6U8HTYFyYH29Sb=-aCBPd65a=Qg@mail.gmail.com> <86844298-1268-4F5E-A6CD-64CADC022FB9@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Aug 16, 2018 at 8:14 AM, Mark Millard <marklmi@yahoo.com> wrote:

> 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.)


lld uses instructions and features introduced in armv7 unconditionally to
do its linking. The bug appears to be that clang invokes it unconditionally
in some cases.

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfpFr3vZYt9SS46wtutEdXR7e3QqS2WiFA2usrkrqAY%2B3w>