Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Apr 2018 18:00:38 -0700
From:      Mark Millard <marklmi26-fbsd@yahoo.com>
To:        Alexander Kabaev <kabaev@gmail.com>
Cc:        freebsd-arm@freebsd.org, freebsd-toolchain@freebsd.org, FreeBSD Ports <freebsd-ports@freebsd.org>
Subject:   Re: Attempting a xtoolchain-gcc head amd64->aarch64 cross buildworld failed for liblto_plugin.so loading error
Message-ID:  <60F5D584-4A93-4D49-94C1-209CC74ABF3A@yahoo.com>
In-Reply-To: <2EEE5E34-12BB-4F21-A5F2-17F232433BD8@yahoo.com>
References:  <A0A954B4-B029-4EA9-972C-F06EEF61CAE8@yahoo.com> <20180407183525.2e72ee42@kan> <2EEE5E34-12BB-4F21-A5F2-17F232433BD8@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
[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:
>=20
>> On Sat, 7 Apr 2018 15:23:50 -0700
>> Mark Millard via freebsd-arm <freebsd-arm at freebsd.org> wrote:
>>=20
>>> My attempted, xtoolchain-gcc based, amd64->aarch64
>>> cross-buildworld-buildkernel failed with:
>>>=20
>>> --- 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
>>>=20
>>> (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.)
>>> . . .
>>=20
>> IIRC, I had to disable LTO plugin in binutils and this need to
>> disable it was there for a while.=20
>=20
> Hmm . . .
>=20
> # 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) . . .
>=20
> # poudriere options -jFBSDFSSDjail -s devel/aarch64-binutils
> [00:00:00] Appending to make.conf: =
/usr/local/etc/poudriere.d/make.conf
> =3D=3D=3D> The following configuration options are available for =
aarch64-binutils-2.30_2,1:
>     RELRO=3Doff: enable -z relro in ELF linker by default
>     STATIC=3Don: Build static executables and/or libraries
> =3D=3D=3D> Use 'make config' to modify these settings
> . . .
>=20
>=20
> Controlling LTO's presence via my port build does
> not seem to be the way to disable LTO.
>=20
> 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.
>=20
> Looks like I've some research to do for how.
>=20
> 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=3Don: 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.

=3D=3D=3D
Mark Millard
marklmi26-fbsd at yahoo.com
( 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?60F5D584-4A93-4D49-94C1-209CC74ABF3A>