Date: Sat, 11 Aug 2018 12:05:15 -0700 From: Mark Millard <marklmi@yahoo.com> To: Warner Losh <imp@bsdimp.com> Cc: Dimitry Andric <dim@FreeBSD.org>, "freebsd-toolchain@FreeBSD.org" <freebsd-toolchain@freebsd.org> Subject: Re: Broken arm support in clang now? Message-ID: <3596475F-13E2-42E3-A1AB-C0C9E2089969@yahoo.com> In-Reply-To: <8B467E75-A6D3-41A5-8EA1-4DDFE0E14CC5@nexustechnology.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>
next in thread | previous in thread | raw e-mail | index | archive | help
[Resent from the right account. I wish I could remove the prior send.] On 2018-Aug-11, at 11:09 AM, Dimitry Andric <dim at FreeBSD.org> wrote: >=20 > On 11 Aug 2018, at 19:31, Warner Losh <imp at bsdimp.com> wrote: >>=20 >> On Sat, Aug 11, 2018, 10:20 AM Dimitry Andric <dim@freebsd.org> = wrote: >> On 11 Aug 2018, at 16:55, Warner Losh <imp@bsdimp.com> wrote: >>>=20 >>> It looks like armv5 clang bogusly uses lld: >>>=20 >>> =46rom a 'make buildkernel' of the RT1310 kernel config: >>>=20 >>> cc -target arm-gnueabi-freebsd12.0 > ... >>> ld: warning: lld uses extended branch encoding, no object with = architecture >>> supporting feature detected. >>> ld: warning: lld may use movt/movw, no object with architecture = supporting >>> feature detected. > ... Did the build get either of the below notices? Both? make[1]: "/usr/src/Makefile.inc1" line 341: SYSTEM_COMPILER: Determined = that CC=3Dcc matches the source tree. Not bootstrapping a = cross-compiler. make[1]: "/usr/src/Makefile.inc1" line 346: SYSTEM_LINKER: Determined = that LD=3Dld matches the source tree. Not bootstrapping a cross-linker. ? (The example text was taken from an amd64 -> aarch64 cross build.) >> Host is amd64. Target is arm. No src.conf. Did a full buildworld = TARGET=3Darm a few days ago. /usr/bin/ld is lld. >=20 > Okay, so in the above "cc" command, can you somehow figure out which = cc > executable it is using? And please add a -v to the "linking = kernel.full" > command line, so it shows exactly which linker it runs? >=20 > I have the idea that it is preferring your /usr/bin/ld over > ${WORLDTMP}/usr/bin/ld... =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net <http://dsl-only.net/> went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3596475F-13E2-42E3-A1AB-C0C9E2089969>