From owner-freebsd-ppc@freebsd.org Sun Nov 26 00:54:32 2017 Return-Path: Delivered-To: freebsd-ppc@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E445BDF5B23 for ; Sun, 26 Nov 2017 00:54:32 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-125.reflexion.net [208.70.210.125]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A2CCA764CF for ; Sun, 26 Nov 2017 00:54:32 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 27080 invoked from network); 26 Nov 2017 00:54:24 -0000 Received: from unknown (HELO rtc-sm-01.app.dca.reflexion.local) (10.81.150.1) by 0 (rfx-qmail) with SMTP; 26 Nov 2017 00:54:24 -0000 Received: by rtc-sm-01.app.dca.reflexion.local (Reflexion email security v8.40.3) with SMTP; Sat, 25 Nov 2017 19:54:24 -0500 (EST) Received: (qmail 18151 invoked from network); 26 Nov 2017 00:54:24 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 26 Nov 2017 00:54:24 -0000 Received: from [192.168.1.25] (c-76-115-7-162.hsd1.or.comcast.net [76.115.7.162]) by iron2.pdx.net (Postfix) with ESMTPSA id DEC40EC7B39; Sat, 25 Nov 2017 16:54:23 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Still true at -r326192 : head -r320458 (e.g.) amd64 -> powerpc64 cross build's install32 during installworld: /usr/src/share/mk/bsd.linker.mk tried to use "head" when PATH provided no access (head is missing) From: Mark Millard In-Reply-To: <8F22B659-90DE-42E5-B4C6-75C9B9626462@dsl-only.net> Date: Sat, 25 Nov 2017 16:54:23 -0800 Cc: FreeBSD Toolchain , FreeBSD PowerPC ML Content-Transfer-Encoding: quoted-printable Message-Id: <8EB87EA5-0ED6-4F46-80FC-1A0DB29CF7D6@dsl-only.net> References: <0E42D991-D350-4DC1-A683-CEA506167520@dsl-only.net> <8F22B659-90DE-42E5-B4C6-75C9B9626462@dsl-only.net> To: Bryan Drewery X-Mailer: Apple Mail (2.3273) X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Nov 2017 00:54:33 -0000 [I just retried this old issue under -r326192 and the problem still exists for an amd64 -> powerpc64 build via clang, WITH_LIB32=3D in use. This is a devel/powerpc64-binutils context because the system ld (and lld) are not sufficient.] On 2017-Jul-26, at 3:06 AM, Mark Millard wrote: > [ -r321493 installworld's use of "head" during lib32 installation is = still > true for amd64 -> powerpc64 cross builds that uses = devel/powerpc64-binutils > for ld: that ld is also used . LOCAL_ITOOLS adding head is still a > workaround.] >=20 > On 2017-Jul-5, at 12:36 PM, Bryan Drewery = wrote: >=20 >> On 6/29/17 6:21 PM, Mark Millard wrote: >>> [I found where the tools are listed that are copied, >>> the list that is missing head.] >>>=20 >>> On 2017-Jun-29, at 3:33 PM, Mark Millard = wrote: >>>=20 >>>> [This is a clang targetting powerpc64 context from my >>>> experimentation efforts, not the normal gcc 4.2.1 context >>>> for powerpc64.] >>>>=20 >>>> I break out the PATH into lines below to make it easier to scan. >>>> See the later "sh: head: not found" line and the even later ls >>>> of the directory with the x86-64 program directory in use: no >>>> "head" is present to find. >>>>=20 >>>> --- install32 --- >>>> cd /usr/src/lib; MACHINE=3Dpowerpc MACHINE_ARCH=3Dpowerpc = MAKEOBJDIRPREFIX=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerp= c64/usr/src/world32 >>>> = PATH=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/= tmp/legacy/usr/sbin >>>> = :/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/le= gacy/usr/bin >>>> = :/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/le= gacy/bin >>>> = :/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/us= r/sbin >>>> = :/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/us= r/bin >>>> = :/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/le= gacy/usr/sbin >>>> = :/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/le= gacy/usr/bin >>>> = :/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/le= gacy/bin >>>> = :/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/us= r/sbin >>>> = :/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/us= r/bin >>>> :/tmp/install.7ljKosWa >>>> = SYSROOT=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/s= rc/lib32 LIBDIR=3D/usr/lib32 SHLIBDIR=3D/usr/lib32 DTRACE=3D"dtrace" = make LD=3D"/usr/local/powerpc64-freebsd/bin/ld -m elf32ppc_fbsd" = OBJCOPY=3D"/usr/local/powerpc64-freebsd/bin/objcopy" = NM=3D"/usr/local/powerpc64-freebsd/bin/nm" -DCOMPAT_32BIT CC=3D"cc = -target powerpc64-unknown-freebsd12.0 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/tmp -B/usr/local/powerpc64-freebsd/bin/ -DCOMPAT_32BIT = -mcpu=3Dpowerpc -m32 = -L/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32= /usr/lib32 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/lib32 -B/usr/local/powerpc64-freebsd/bin/ = -B/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32= /usr/lib32" CXX=3D"c++ -target powerpc64-unknown-freebsd12.0 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/tmp -B/usr/local/powerpc64-freebsd/bin/ -DCOMPAT_32BIT = -mcpu=3Dpowerpc -m32=20 > -L/ >>>> = usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32/us= r/lib32 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/lib32 -B/usr/local/powerpc64-freebsd/bin/ = -B/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32= /usr/lib32" CPP=3D"cpp -target powerpc64-unknown-freebsd12.0 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/tmp -B/usr/local/powerpc64-freebsd/bin/ -DCOMPAT_32BIT = -mcpu=3Dpowerpc -m32 = -L/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32= /usr/lib32 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/lib32 -B/usr/local/powerpc64-freebsd/bin/ = -B/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32= /usr/lib32" -DNO_CPU_CFLAGS MK_CTF=3Dno -DNO_LINT MK_TESTS=3Dno = MK_MAN=3Dno MK_HTML=3Dno MK_TOOLCHAIN=3Dno -DLIBRARIES_ONLY install >>>> sh: head: not found >>>> make[4]: "/usr/src/share/mk/bsd.linker.mk" line 47: Unable to = determine linker type from XLD=3D/usr/local/powerpc64-freebsd/bin/ld >>>> *** [install32] Error code 1 >>>>=20 >>>> # ls -lT /tmp/install.7ljKosWa/ >>>> total 6151 >>>> -r-xr-xr-x 1 root wheel 12592 Jun 29 14:02:46 2017 [ >>>> -r-xr-xr-x 1 root wheel 207320 Jun 29 14:02:46 2017 awk >>>> -r-xr-xr-x 1 root wheel 8456 Jun 29 14:02:46 2017 cap_mkdb >>>> -r-xr-xr-x 1 root wheel 13272 Jun 29 14:02:46 2017 cat >>>> . . . >>>> -r-xr-xr-x 1 root wheel 57632 Jun 29 14:02:46 2017 find >>>> -r-xr-xr-x 1 root wheel 99064 Jun 29 14:02:46 2017 grep >>>> -r-xr-xr-x 1 root wheel 13360 Jun 29 14:02:46 2017 id >>>> . . . >>>>=20 >>>> So there is no "head" to find. Below uses "find" instead >>>> to confirm the x86-64 ELF status: >>>>=20 >>>> # file /tmp/install.7ljKosWa/find >>>> /tmp/install.7ljKosWa/find: ELF 64-bit LSB executable, x86-64, = version 1 (FreeBSD), dynamically linked, interpreter = /libexec/ld-elf.so.1, for FreeBSD 12.0 (1200036), FreeBSD-style, = stripped >>>>=20 >>>>=20 >>>>=20 >>>> =46rom /usr/src/share/mk/bsd.linker.mk : >>>>=20 >>>> .if ${ld} =3D=3D "LD" || (${ld} =3D=3D "XLD" && ${XLD} !=3D ${LD}) >>>> .if !defined(${X_}LINKER_TYPE) || !defined(${X_}LINKER_VERSION) >>>> _ld_version!=3D ${${ld}} --version 2>/dev/null | head -n 1 || = echo none >>>> .if ${_ld_version} =3D=3D "none" >>>> .error Unable to determine linker type from ${ld}=3D${${ld}} >>>> .endif >>>>=20 >>>>=20 >>>> Trying the failing line interactively (no PATH >>>> like above though): >>>>=20 >>>> # /usr/local/powerpc64-freebsd/bin/ld --version 2>/dev/null | head = -n 1 || echo none >>>> GNU ld (GNU Binutils) 2.28 >>>>=20 >>>> So /tmp/install.7ljKosWa/ just needed a copy of head >>>> in addition to what it already had. >>>=20 >>> In /usr/src/Makefile.inc1 : >>>=20 >>> ITOOLS=3D [ awk cap_mkdb cat chflags chmod chown cmp cp \ >>> date echo egrep find grep id install ${_install-info} \ >>> ln make mkdir mtree mv pwd_mkdb \ >>> rm sed services_mkdb sh strip sysctl test true uname wc = ${_zoneinfo} \ >>> ${LOCAL_ITOOLS} >>>=20 >>> does not list "head" as a tool. >>>=20 >>> But I can externally add it via LOCAL_ITOOLS use. >>>=20 >>=20 >> This change should not be needed. We don't want to be running 'ld' >> during installworld. The changes I made around this time should = already >> cover the problem. Is it still occurring on a more recent >> buildworld+installworld, without the ITOOLS change? >=20 > [Note: historically lld and the system ld do not work > overall for powerpc64 targeting. Thus the use of > devel/powerpc64-bintuils and its ld. ] >=20 > First the error text then the Build Context > follow. >=20 > See the text: >=20 > sh: head: not found > make[4]: "/usr/src/share/mk/bsd.linker.mk" line 45: warning: = "(/usr/local/powerpc64-freebsd/bin/ld --version || echo none) | head -n = 1" returned non-zero status > make[4]: "/usr/src/share/mk/bsd.linker.mk" line 56: warning: Unknown = linker from XLD=3D/usr/local/powerpc64-freebsd/bin/ld: , defaulting to = bfd >=20 > in the later example. But first a clue about how > many times the problem happens: >=20 > # grep "head: not found" = /root/sys_typescripts/typescript_make_powerpc64vtsc_nodebug_clang_altbinut= ils-amd64-host-2017-07-26:01:58:10 > sh: head: not found > sh: head: not found > sh: head: not found > sh: head: not found > sh: head: not found > sh: head: not found > sh: head: not found >=20 > Those are for: >=20 > --- install32 --- > --- realinstall_subdir_libunbound --- > --- realinstall_subdir_libdialog --- > --- realinstall_subdir_libzpool --- > --- _libinstall --- > --- realinstall_subdir_libgssapi_krb5 --- > --- _installlinks --- >=20 > One of the examples: >=20 > --- realinstall_subdir_libgssapi_krb5 --- > install -o root -g wheel -m 444 libgssapi_krb5.so.10.debug = /usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils/usr/lib/debug/u= sr/lib32/ > install -l rs libgssapi_krb5.so.10 = /usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils/usr/lib32/libgs= sapi_krb5.so > cd /usr/src/libexec/rtld-elf; PROG=3Dld-elf32.so.1 MACHINE=3Dpowerpc = MACHINE_ARCH=3Dpowerpc = MAKEOBJDIRPREFIX=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerp= c64/usr/src/world32 = PATH=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/= tmp/legacy/usr/sbin:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.power= pc64/usr/src/tmp/legacy/usr/bin:/usr/obj/powerpc64vtsc_clang_altbinutils/p= owerpc.powerpc64/usr/src/tmp/legacy/bin:/usr/obj/powerpc64vtsc_clang_altbi= nutils/powerpc.powerpc64/usr/src/tmp/usr/sbin:/usr/obj/powerpc64vtsc_clang= _altbinutils/powerpc.powerpc64/usr/src/tmp/usr/bin:/usr/obj/powerpc64vtsc_= clang_altbinutils/powerpc.powerpc64/usr/src/tmp/legacy/usr/sbin:/usr/obj/p= owerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/legacy/usr/bi= n:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/tmp/l= egacy/bin:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/s= rc/tmp/usr/sbin:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64= /usr/sr > c/tmp/usr/bin:/tmp/install.n3WUdktD = SYSROOT=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/s= rc/lib32 LIBDIR=3D/usr/lib32 SHLIBDIR=3D/usr/lib32 DTRACE=3D"dtrace" = make LD=3D"/usr/local/powerpc64-freebsd/bin/ld -m elf32ppc_fbsd" = OBJCOPY=3D"/usr/local/powerpc64-freebsd/bin/objcopy" = NM=3D"/usr/local/powerpc64-freebsd/bin/nm" -DCOMPAT_32BIT CC=3D"cc = -target powerpc64-unknown-freebsd12.0 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/tmp -B/usr/local/powerpc64-freebsd/bin/ -DCOMPAT_32BIT = -mcpu=3Dpowerpc -m32 = -L/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32= /usr/lib32 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/lib32 -B/usr/local/powerpc64-freebsd/bin/ = -B/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32= /usr/lib32" CXX=3D"c++ -target powerpc64-unknown-freebsd12.0 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/tmp -B/usr/local/powerpc64-freebsd/bin/ - > DCOMPAT_32BIT -mcpu=3Dpowerpc -m32 = -L/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32= /usr/lib32 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/lib32 -B/usr/local/powerpc64-freebsd/bin/ = -B/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32= /usr/lib32" CPP=3D"cpp -target powerpc64-unknown-freebsd12.0 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/tmp -B/usr/local/powerpc64-freebsd/bin/ -DCOMPAT_32BIT = -mcpu=3Dpowerpc -m32 = -L/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32= /usr/lib32 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/lib32 -B/usr/local/powerpc64-freebsd/bin/ = -B/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/lib32= /usr/lib32" -DNO_CPU_CFLAGS MK_CTF=3Dno -DNO_LINT MK_TESTS=3Dno = MK_MAN=3Dno MK_HTML=3Dno MK_TOOLCHAIN=3Dno -DLIBRARIES_ONLY install > sh: head: not found > make[4]: "/usr/src/share/mk/bsd.linker.mk" line 45: warning: = "(/usr/local/powerpc64-freebsd/bin/ld --version || echo none) | head -n = 1" returned non-zero status > make[4]: "/usr/src/share/mk/bsd.linker.mk" line 56: warning: Unknown = linker from XLD=3D/usr/local/powerpc64-freebsd/bin/ld: , defaulting to = bfd >=20 >=20 >=20 >=20 > Build Context: >=20 > = ~/sys_build_scripts.amd64-host/make_powerpc64vtsc_nodebug_clang_altbinutil= s-amd64-host.sh -j8 installworld = DESTDIR=3D/usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils >=20 > # more = ~/sys_build_scripts.amd64-host/make_powerpc64vtsc_nodebug_clang_altbinutil= s-amd64-host.sh > kldload -n filemon && \ > script = ~/sys_typescripts/typescript_make_powerpc64vtsc_nodebug_clang_altbinutils-= amd64-host-$(date +%Y-%m-%d:%H:%M:%S) \ > env __MAKE_CONF=3D"/root/src.configs/make.conf" SRCCONF=3D"/dev/null" = SRC_ENV_CONF=3D"/root/src.configs/src.conf.powerpc64-clang_altbinutils-boo= tstrap.amd64-host" \ > WITH_META_MODE=3Dyes \ > MAKEOBJDIRPREFIX=3D"/usr/obj/powerpc64vtsc_clang_altbinutils" \ >=20 > # more /root/src.configs/make.conf > CFLAGS.gcc+=3D -v >=20 > # more = /root/src.configs/src.conf.powerpc64-clang_altbinutils-bootstrap.amd64-hos= t > TO_TYPE=3Dpowerpc64 > TOOLS_TO_TYPE=3D${TO_TYPE} > VERSION_CONTEXT=3D12.0 > # > KERNCONF=3DGENERIC64vtsc-NODBG > TARGET=3Dpowerpc > .if ${.MAKE.LEVEL} =3D=3D 0 > TARGET_ARCH=3D${TO_TYPE} > .export TARGET_ARCH > .endif > # > WITH_CROSS_COMPILER=3D > WITHOUT_SYSTEM_COMPILER=3D > # > WITH_LIBCPLUSPLUS=3D > WITHOUT_BINUTILS_BOOTSTRAP=3D > WITH_ELFTOOLCHAIN_BOOTSTRAP=3D > WITH_CLANG_BOOTSTRAP=3D > WITH_CLANG=3D > WITH_CLANG_IS_CC=3D > WITH_CLANG_FULL=3D > WITH_CLANG_EXTRAS=3D > WITHOUT_LLD_BOOTSTRAP=3D > WITH_LLD=3D > WITHOUT_LLD_IS_LD=3D > WITH_LLDB=3D > # > WITH_BOOT=3D > WITH_LIB32=3D > # > WITHOUT_GCC_BOOTSTRAP=3D > WITHOUT_GCC=3D > WITHOUT_GCC_IS_CC=3D > WITHOUT_GNUCXX=3D > # > NO_WERROR=3D > MALLOC_PRODUCTION=3D > # > # Avoid converts between pointers to integer types with different sign = [-Werror,-Wpointer-sign] > # and such from blocking the build. > WERROR=3D > # > WITH_REPRODUCIBLE_BUILD=3D > WITH_DEBUG_FILES=3D > # > # > # For TO (so-called "cross") stages . . . > # So-called-cross via ${TO_TYPE}-xtoolchain-gcc/${TO_TYPE}-gcc. . . > # TOOLS_TO_TYPE based on ${TO_TYPE}-xtoolchain-gcc related binutils. . = . > # > CROSS_BINUTILS_PREFIX=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ > .if ${.MAKE.LEVEL} =3D=3D 0 > # > # Note: The WITH_CROSS_COMPILER picks up the CROSS_BINUTILS_PREFIX > # binding automatically. > # > XAS=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/as > XAR=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ar > XNM=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/nm > XOBJCOPY=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objcopy > XOBJDUMP=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objdump > XRANLIB=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ranlib > XSIZE=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/size > #NO-SUCH: XSTRINGS=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/strings > XSTRINGS=3D/usr/local/bin/${TOOLS_TO_TYPE}-freebsd-strings > .export XAS > .export XAR > .export XNM > .export XOBJCOPY > .export XOBJDUMP > .export XRANLIB > .export XSIZE > .export XSTRINGS > XLD=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ld > .export XLD > .endif >=20 >=20 > Note: clang 5 still does not produce code that handles > thrown C++ exceptions for powerpc64: SIGSEGV results. > Still I can build a useful world and kernel for > powerpc64 based on how little throws C++ exceptions. > I experiment with such things. Retrying the powerpc64 via clang WITH_LIB32=3D combination got: "sh: head: not found" and its later consequences. This is from the /usr/src/share/mk/bsd.linker.mk line that results in: (/usr/local/powerpc64-freebsd/bin/ld --version || echo none) | head -n 1 but head is not available by default. (I make it available via LOCAL_ITOOLS=3Dhead use in order to work around the issue.) --- _installlinks --- install -l s ../../libexec/ld-elf32.so.1 = /usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils/usr/libexec/ld-= elf32.so.1 cd /usr/src/usr.bin/ldd; PROG=3Dldd32 MACHINE=3Dpowerpc = MACHINE_ARCH=3Dpowerpc = PATH=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/= powerpc.powerpc64/tmp/legacy/usr/sbin:/usr/obj/powerpc64vtsc_clang_altbinu= tils/powerpc.powerpc64/usr/src/powerpc.powerpc64/tmp/legacy/usr/bin:/usr/o= bj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/powerpc.power= pc64/tmp/legacy/bin:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.power= pc64/usr/src/powerpc.powerpc64/tmp/usr/sbin:/usr/obj/powerpc64vtsc_clang_a= ltbinutils/powerpc.powerpc64/usr/src/powerpc.powerpc64/tmp/usr/bin:/usr/ob= j/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/powerpc.powerp= c64/tmp/legacy/usr/sbin:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.p= owerpc64/usr/src/powerpc.powerpc64/tmp/legacy/usr/bin:/usr/obj/powerpc64vt= sc_clang_altbinutils/powerpc.powerpc64/usr/src/powerpc.powerpc64/tmp/legac= y/bin:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/p= owerpc.powerpc64/tmp/usr/sbin:/usr/obj/powerpc64vtsc_clang_altbinutils/pow= erpc.powerpc64/usr/src/powerpc.powerpc64/tmp/usr/bin:/tmp/install.8sG9x6Xp= = SYSROOT=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/s= rc/powerpc.powerpc64/obj-lib32/tmp LIBDIR=3D/usr/lib32 = SHLIBDIR=3D/usr/lib32 DTRACE=3D"dtrace" make = LD=3D"/usr/local/powerpc64-freebsd/bin/ld -m elf32ppc_fbsd" = OBJCOPY=3D"/usr/local/powerpc64-freebsd/bin/objcopy" = NM=3D"/usr/local/powerpc64-freebsd/bin/nm" -DCOMPAT_32BIT CC=3D"cc = -target powerpc64-unknown-freebsd12.0 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/powerpc.powerpc64/tmp -B/usr/local/powerpc64-freebsd/bin/ = -DCOMPAT_32BIT -mcpu=3Dpowerpc -m32 = -L/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/power= pc.powerpc64/obj-lib32/tmp/usr/lib32 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/powerpc.powerpc64/obj-lib32/tmp = -B/usr/local/powerpc64-freebsd/bin/ = -B/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/power= pc.powerpc64/obj-lib32/tmp/usr/lib32" CXX=3D"c++ -target = powerpc64-unknown-freebsd12.0 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/powerpc.powerpc64/tmp -B/usr/local/powerpc64-freebsd/bin/ = -DCOMPAT_32BIT -mcpu=3Dpowerpc -m32 = -L/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/power= pc.powerpc64/obj-lib32/tmp/usr/lib32 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/powerpc.powerpc64/obj-lib32/tmp = -B/usr/local/powerpc64-freebsd/bin/ = -B/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/power= pc.powerpc64/obj-lib32/tmp/usr/lib32" CPP=3D"cpp -target = powerpc64-unknown-freebsd12.0 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/powerpc.powerpc64/tmp -B/usr/local/powerpc64-freebsd/bin/ = -DCOMPAT_32BIT -mcpu=3Dpowerpc -m32 = -L/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/power= pc.powerpc64/obj-lib32/tmp/usr/lib32 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/powerpc.powerpc64/obj-lib32/tmp = -B/usr/local/powerpc64-freebsd/bin/ = -B/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/power= pc.powerpc64/obj-lib32/tmp/usr/lib32" -DNO_CPU_CFLAGS MK_CTF=3Dno = -DNO_LINT MK_TESTS=3Dno = OBJTOP=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/sr= c/powerpc.powerpc64/obj-lib32 OBJROOT=3D'${OBJTOP}/' MAKEOBJDIRPREFIX=3D = MK_MAN=3Dno MK_HTML=3Dno MK_TOOLCHAIN=3Dno -DLIBRARIES_ONLY install sh: head: not found make[4]: "/usr/src/share/mk/bsd.linker.mk" line 45: warning: = "(/usr/local/powerpc64-freebsd/bin/ld --version || echo none) | head -n = 1" returned non-zero status make[4]: "/usr/src/share/mk/bsd.linker.mk" line 56: warning: Unknown = linker from XLD=3D/usr/local/powerpc64-freebsd/bin/ld: , defaulting to = bfd --- _proginstall --- install -s -o root -g wheel -m 555 ldd32 = /usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils/usr/bin/ldd32 install -o root -g wheel -m 444 ldd32.debug = /usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils/usr/lib/debug/u= sr/bin/ldd32.debug =3D=3D=3D Mark Millard markmi at dsl-only.net