Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Dec 2016 18:54:02 -0800
From:      Mark Millard <markmi@dsl-only.net>
To:        Dimitry Andric <dim@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>
Cc:        Justin Hibbits <chmeeedalf@gmail.com>, Kevin Bowling <kevin.bowling@kev009.com>, Roman Divacky <rdivacky@freebsd.org>
Subject:   head -r309179 powerpc64 WITH_LIB32= buildworld only works on powerpc64, not on cross build from amd64
Message-ID:  <DFC84CD9-9896-42F2-B1FD-DA936C283F97@dsl-only.net>

next in thread | raw e-mail | index | archive | help
I just discovered that, even though I could not build WITH_LIB32=3D
for TARGET_ARCH=3Dpowerpc64 from amd64, after booting the cross
built system I was able to buildworld using WITH_LIB32=3D
based on the SRC_ENV_CONF that I list later. Installing,
booting, and testing it works:

# ldd32 /usr/lib32/libgcc_s.so.1=20
/usr/lib32/libgcc_s.so.1:
	libc.so.7 =3D> /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=3D215037


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=20
Script started on Sat Dec  3 17:42:59 2016
Command: 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.powe=
rpc64-host WITH_META_MODE=3Dyes =
MAKEOBJDIRPREFIX=3D/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=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
#
WITHOUT_CROSS_COMPILER=3D
WITH_SYSTEM_COMPILER=3D
#
WITH_LIBCPLUSPLUS=3D
WITHOUT_BINUTILS_BOOTSTRAP=3D
WITH_CLANG_BOOTSTRAP=3D
WITH_CLANG=3D
WITH_CLANG_IS_CC=3D
WITH_CLANG_FULL=3D
WITH_CLANG_EXTRAS=3D
WITH_LLDB=3D
#
WITH_BOOT=3D
WITH_LIB32=3D
#
WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=3D
WITHOUT_GCC_BOOTSTRAP=3D
WITHOUT_GCC=3D
WITHOUT_GCC_IS_CC=3D
WITHOUT_GNUCXX=3D
#
NO_WERROR=3D
#WERROR=3D
MALLOC_PRODUCTION=3D
#
WITH_DEBUG_FILES=3D
#
CROSS_BINUTILS_PREFIX=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/
.if ${.MAKE.LEVEL} =3D=3D 0
CC=3D/usr/bin/clang -B ${CROSS_BINUTILS_PREFIX}
CXX=3D/usr/bin/clang++ -B ${CROSS_BINUTILS_PREFIX}
CPP=3D/usr/bin/clang-cpp -B ${CROSS_BINUTILS_PREFIX}
.export CC
.export CXX
.export CPP
AS=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/as
AR=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ar
LD=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ld
NM=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/nm
OBJCOPY=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objcopy
OBJDUMP=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objdump
RANLIB=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ranlib
XSIZE=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/size
#NO-SUCH: STRINGS=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/strings
STRINGS=3D/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



=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DFC84CD9-9896-42F2-B1FD-DA936C283F97>