I just discovered that, even though I could not build WITH_LIB32=
for TARGET_ARCH=powerpc64 from amd64, after booting the cross
built system I was able to buildworld using WITH_LIB32=
based on the SRC_ENV_CONF that I list later. Installing,
booting, and testing it works:
# ldd32 /usr/lib32/libgcc_s.so.1
/usr/lib32/libgcc_s.so.1:
libc.so.7 => /usr/lib32/libc.so.7 (0x41841000)
# file `which ldd32`
/usr/bin/ldd32: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1
(FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD
12.0 (1200017), FreeBSD-style, stripped
The blocking issue on amd64's cross build was rejection of
assembler notation used in lib32's build. Turns out from the
message text details that the compiler was in either the ATT
or the Intel instruction set parsing code when it rejected
the notation.
I have submitted a bugzilla report for this:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=215037
Supporting details for the on powerpc64 build:
-r416639 devel/binutils
-r407342 devel/powerpc-binutils
(slave port so tracks devel/binutils in various ways)
(The above avoids 2.47 vintages.)
# head
~/sys_typescripts/typescript_make_powerpc64vtsc_nodebug_clang_altbinutils_world-powerpc64-host-2016-12-03:17:42:59
Script started on Sat Dec 3 17:42:59 2016
Command: env __MAKE_CONF=/root/src.configs/make.conf SRCCONF=/dev/null
SRC_ENV_CONF=/root/src.configs/src.conf.powerpc64-clang_altbinutils.powerpc64-host
WITH_META_MODE=yes
MAKEOBJDIRPREFIX=/usr/obj/powerpc64vtsc_clang_altbinutils_world/powerpc.powerpc64
make -j 5 buildworld
. . .
# more /root/src.configs/src.conf.powerpc64-clang_altbinutils.powerpc64-host
TO_TYPE=powerpc64
TOOLS_TO_TYPE=${TO_TYPE}
VERSION_CONTEXT=12.0
#
KERNCONF=GENERIC64vtsc-NODBG
TARGET=powerpc
.if ${.MAKE.LEVEL} == 0
TARGET_ARCH=${TO_TYPE}
.export TARGET_ARCH
.endif
#
WITHOUT_CROSS_COMPILER=
WITH_SYSTEM_COMPILER=
#
WITH_LIBCPLUSPLUS=
WITHOUT_BINUTILS_BOOTSTRAP=
WITH_CLANG_BOOTSTRAP=
WITH_CLANG=
WITH_CLANG_IS_CC=
WITH_CLANG_FULL=
WITH_CLANG_EXTRAS=
WITH_LLDB=
#
WITH_BOOT=
WITH_LIB32=
#
WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=
WITHOUT_GCC_BOOTSTRAP=
WITHOUT_GCC=
WITHOUT_GCC_IS_CC=
WITHOUT_GNUCXX=
#
NO_WERROR=
#WERROR=
MALLOC_PRODUCTION=
#
WITH_DEBUG_FILES=
#
CROSS_BINUTILS_PREFIX=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/
.if ${.MAKE.LEVEL} == 0
CC=/usr/bin/clang -B ${CROSS_BINUTILS_PREFIX}
CXX=/usr/bin/clang++ -B ${CROSS_BINUTILS_PREFIX}
CPP=/usr/bin/clang-cpp -B ${CROSS_BINUTILS_PREFIX}
.export CC
.export CXX
.export CPP
AS=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/as
AR=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ar
LD=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ld
NM=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/nm
OBJCOPY=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objcopy
OBJDUMP=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objdump
RANLIB=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ranlib
XSIZE=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/size
#NO-SUCH: STRINGS=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/strings
STRINGS=/usr/local/bin/${TOOLS_TO_TYPE}-freebsd-strings
.export AS
.export AR
.export LD
.export NM
.export OBJCOPY
.export OBJDUMP
.export RANLIB
.export SIZE
.export STRINGS
.endif
===
Mark Millard
markmi at dsl-only.net
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "[email protected]"