Date: Sun, 29 Dec 2019 20:20:39 -0800 From: Mark Millard <marklmi@yahoo.com> To: "jhibbits@freebsd.org" <jhibbits@FreeBSD.org>, svn-src-head@freebsd.org Subject: Re: svn commit: r356054 - in head: share/mk stand Message-ID: <DCDC3164-A5B4-404D-86B6-D96660A64772@yahoo.com> In-Reply-To: <8A9C94C7-094F-45B4-B156-5A04958C4938@yahoo.com> References: <8A9C94C7-094F-45B4-B156-5A04958C4938@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2019-Dec-24, at 21:26, Mark Millard <marklmi at yahoo.com> wrote: > In: >=20 > +# Defines a variable for Binutils linker, to be used to workaround = some > +# issue with LLVM LLD (i.e. support for PowerPC32 bit on PowerPC64) > +# > +# This is an unavoidable cross coupling with Makefile.inc1 and > +# normal builds works when CROSS_BINUTILS_PREFIX and could be removed > +# when LLD PowerPC 32 bit support is completed > +.if defined(CROSS_BINUTILS_PREFIX) > +LD_BFD=3D${LOCALBASE}/bin/${CROSS_BINUTILS_PREFIX}-ld.bfd > +.else > +LD_BFD=3D${OBJTOP}/tmp/usr/bin/ld.bfd > +.endif >=20 > I'm confused by the 2 lines: >=20 > +.if defined(CROSS_BINUTILS_PREFIX) > +LD_BFD=3D${LOCALBASE}/bin/${CROSS_BINUTILS_PREFIX}-ld.bfd >=20 > Looking in /usr/local/share/toolchains/*.mk I see > CROSS_BINUTILS_PREFIX as a full path in each case > ( based on devel/freebsd-gcc[69] in my context): >=20 > # grep -r CROSS_BINU /usr/local/share/toolchains/ | more > = /usr/local/share/toolchains/aarch64-gcc6.mk:CROSS_BINUTILS_PREFIX=3D/usr/l= ocal/aarch64-unknown-freebsd13.0/bin/ > = /usr/local/share/toolchains/amd64-gcc6.mk:CROSS_BINUTILS_PREFIX=3D/usr/loc= al/x86_64-unknown-freebsd13.0/bin/ > = /usr/local/share/toolchains/powerpc64-gcc6.mk:CROSS_BINUTILS_PREFIX=3D/usr= /local/powerpc64-unknown-freebsd13.0/bin/ > = /usr/local/share/toolchains/aarch64-gcc9.mk:CROSS_BINUTILS_PREFIX=3D/usr/l= ocal/aarch64-unknown-freebsd13.0/bin/ > = /usr/local/share/toolchains/amd64-gcc9.mk:CROSS_BINUTILS_PREFIX=3D/usr/loc= al/x86_64-unknown-freebsd13.0/bin/ > = /usr/local/share/toolchains/powerpc64-gcc9.mk:CROSS_BINUTILS_PREFIX=3D/usr= /local/powerpc64-unknown-freebsd13.0/bin/ > = /usr/local/share/toolchains/powerpc-gcc9.mk:CROSS_BINUTILS_PREFIX=3D/usr/l= ocal/powerpc-unknown-freebsd13.0/bin/ >=20 > And when I look in /usr/srcv/Makefile.inc1 I see: >=20 > = /usr/src/Makefile.inc1:CROSS_BINUTILS_PREFIX=3D/usr/local/${TARGET_TRIPLE}= /bin/ >=20 > Having an overall path structure like: >=20 > ${LOCALBASE}/bin/usr/local/powerpc64-unknown-freebsd13.0/bin/-ld.bfd >=20 > seems strange (using powerpc64 as an example). >=20 I got to the point of trying a build that happens to have tried to use this code. It failed, reporting: --- libc.so.7.full --- building shared library libc.so.7 cc: error: invalid linker name in argument = '-fuse-ld=3D/usr/local/bin//usr/local/powerpc64-unknown-freebsd13.0/bin/-l= d.bfd' *** [libc.so.7.full] Error code 1 So I switched the code to: .if defined(CROSS_BINUTILS_PREFIX) LD_BFD=3D${CROSS_BINUTILS_PREFIX}ld.bfd .else LD_BFD=3D${OBJTOP}/tmp/usr/bin/ld.bfd .endif With that in place, the build completed. =3D=3D=3D Mark Millard marklmi 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?DCDC3164-A5B4-404D-86B6-D96660A64772>