[The static build of binutils is what gets the lto involved.]

On 2018-Apr-7, at 5:29 PM, Mark Millard <marklmi26-fbsd at yahoo.com> wrote:

> On 2018-Apr-7, at 3:35 PM, Alexander Kabaev <kabaev at gmail.com> wrote:
> 
>> On Sat, 7 Apr 2018 15:23:50 -0700
>> Mark Millard via freebsd-arm <freebsd-arm at freebsd.org> wrote:
>> 
>>> My attempted, xtoolchain-gcc based, amd64->aarch64
>>> cross-buildworld-buildkernel failed with:
>>> 
>>> --- libc.so.7.full ---
>>> /usr/local/bin/aarch64-unknown-freebsd12.0-ld: 
>>> /usr/local/libexec/gcc/aarch64-unknown-freebsd12.0/6.3.0/liblto_plugin.so:
>>> error loading plugin: Service unavailable collect2: error: ld
>>> returned 1 exit status *** [libc.so.7.full] Error code 1
>>> 
>>> (I've not attempted such a build in a long time, so I do not
>>> know how new this is. Historically I've done lots of such
>>> builds. cortex-a53 was specifically targeted here.)
>>> . . .
>> 
>> IIRC, I had to disable LTO plugin in binutils and this need to
>> disable it was there for a while. 
> 
> Hmm . . .
> 
> # pkg info aarch64-binutils
> aarch64-binutils-2.30_2,1
> Name           : aarch64-binutils
> Version        : 2.30_2,1
> Installed on   : Tue Feb  6 17:37:31 2018 PST
> Origin         : devel/aarch64-binutils
> Architecture   : FreeBSD:12:amd64
> Prefix         : /usr/local
> Categories     : devel
> Licenses       : GPLv3, LGPL3
> Maintainer     : bapt at FreeBSD.org
> WWW            : http://sources.redhat.com/binutils/
> Comment        : GNU binutils for AArch64 cross-development
> Options        :
>        RELRO          : off
>        STATIC         : on
> . . . (no more options listed) . . .
> 
> # poudriere options -jFBSDFSSDjail -s devel/aarch64-binutils
> [00:00:00] Appending to make.conf: /usr/local/etc/poudriere.d/make.conf
> ===> The following configuration options are available for 
> aarch64-binutils-2.30_2,1:
>     RELRO=off: enable -z relro in ELF linker by default
>     STATIC=on: Build static executables and/or libraries
> ===> Use 'make config' to modify these settings
> . . .
> 
> 
> Controlling LTO's presence via my port build does
> not seem to be the way to disable LTO.
> 
> This would suggest that I need to override part
> of what buildworld does in order to force avoiding
> lto. Such would be the first time that I've run
> into that.
> 
> Looks like I've some research to do for how.
> 
> Thanks for letting me know.

I had forgotten but I'd analyzed this once before:

https://lists.freebsd.org/pipermail/freebsd-ports/2017-August/109769.html

and it traced back to:

     STATIC=on: Build static executables and/or libraries

for aarch64-binutils. (Static was at the time required for
a poudriere/qemu mix that used aarch64-binutils.)

(I do-not/did-not see such problems for powerpc64 targeted cross
builds using xtoolchain material, such as powerpc64-binutils
and powerpc64-gcc. This is specific to aarch64 for some
reason.)

So I'll see about turning STATIC off to enable buildworld.

===
Mark Millard
marklmi26-fbsd at yahoo.com
( dsl-only.net went
away in early 2018-Mar)






_______________________________________________
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"

Reply via email to