I had to revert /usr/local/aarch64-freebsd from 2.28 for its bin/ld to work for -r315870 buildworld (adm64 -> arm64 cross build)
Mark Millard
markmi at dsl-only.net
Fri Mar 24 03:31:12 UTC 2017
Building /usr/obj/pine64_clang/arm64.aarch64/usr/src/lib/libc/libc.so.7.full
--- libc.so.7.full ---
building shared library libc.so.7
/usr/local/aarch64-freebsd/bin/ld: getutxent.pico(.debug_info+0x3b): R_AARCH64_ABS64 used with TLS symbol udb
/usr/local/aarch64-freebsd/bin/ld: getutxent.pico(.debug_info+0x58): R_AARCH64_ABS64 used with TLS symbol uf
/usr/local/aarch64-freebsd/bin/ld: utxdb.pico(.debug_info+0x5a): R_AARCH64_ABS64 used with TLS symbol futx_to_utx.ut
/usr/local/aarch64-freebsd/bin/ld: jemalloc_tsd.pico(.debug_info+0x3c): R_AARCH64_ABS64 used with TLS symbol __je_tsd_tls
/usr/local/aarch64-freebsd/bin/ld: jemalloc_tsd.pico(.debug_info+0x146e): R_AARCH64_ABS64 used with TLS symbol __je_tsd_initialized
/usr/local/aarch64-freebsd/bin/ld: cxa_thread_atexit_impl.pico(.debug_info+0x3b): R_AARCH64_ABS64 used with TLS symbol dtors
/usr/local/aarch64-freebsd/bin/ld: xlocale.pico(.debug_info+0x403): R_AARCH64_ABS64 used with TLS symbol __thread_locale
/usr/local/aarch64-freebsd/bin/ld: setrunelocale.pico(.debug_info+0x3c): R_AARCH64_ABS64 used with TLS symbol _ThreadRuneLocale
cc: error: linker command failed with exit code 1 (use -v to see invocation)
# Meta data file /usr/obj/pine64_clang/arm64.aarch64/usr/src/lib/libc/libc.so.7.full.meta
CMD @echo building shared library libc.so.7
CMD @rm -f libc.so.7 libc.so
CMD cc -B/usr/local/aarch64-freebsd/bin/ -mcpu=cortex-a53 -target aarch64-unknown-freebsd12.0 --sysroot=/usr/obj/pine64_clang/arm64.aarch64/usr/src/tmp -B/usr/local/aarch64-freebsd/bin/ -nodefaultlibs -Wl,--version-script=Version.map -shared -Wl,-x -Wl,--fatal-warnings -Wl,--warn-shared-textrel -o libc.so.7.full -Wl,-soname,libc.so.7 `NM='/usr/local/aarch64-freebsd/bin/nm' NMFLAGS='' lorder machdep_ldisQ.pico
. . .
wmemset.pico | tsort -q` -lcompiler_rt -lssp_nonshared
CWD /usr/obj/pine64_clang/arm64.aarch64/usr/src/lib/libc
TARGET libc.so.7.full
-- command output --
building shared library libc.so.7
/usr/local/aarch64-freebsd/bin/ld: getutxent.pico(.debug_info+0x3b): R_AARCH64_ABS64 used with TLS symbol udb
/usr/local/aarch64-freebsd/bin/ld: getutxent.pico(.debug_info+0x58): R_AARCH64_ABS64 used with TLS symbol uf
/usr/local/aarch64-freebsd/bin/ld: utxdb.pico(.debug_info+0x5a): R_AARCH64_ABS64 used with TLS symbol futx_to_utx.ut
/usr/local/aarch64-freebsd/bin/ld: jemalloc_tsd.pico(.debug_info+0x3c): R_AARCH64_ABS64 used with TLS symbol __je_tsd_tls
/usr/local/aarch64-freebsd/bin/ld: jemalloc_tsd.pico(.debug_info+0x146e): R_AARCH64_ABS64 used with TLS symbol __je_tsd_initialized
/usr/local/aarch64-freebsd/bin/ld: cxa_thread_atexit_impl.pico(.debug_info+0x3b): R_AARCH64_ABS64 used with TLS symbol dtors
/usr/local/aarch64-freebsd/bin/ld: xlocale.pico(.debug_info+0x403): R_AARCH64_ABS64 used with TLS symbol __thread_locale
/usr/local/aarch64-freebsd/bin/ld: setrunelocale.pico(.debug_info+0x3c): R_AARCH64_ABS64 used with TLS symbol _ThreadRuneLocale
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1
I had recently updated to:
# svnlite info /usr/ports | grep "Re[plv]"
Relative URL: ^/head
Repository Root: svn://svn.freebsd.org/ports
Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
Revision: 436747
Last Changed Rev: 436747
(from -r434493) which picked up:
Author: bapt
Date: Wed Mar 22 21:10:39 2017
New Revision: 436732
URL:
https://svnweb.freebsd.org/changeset/ports/436732
Log:
Update to binutils 2.28
Mark the NLS options and the STATIC options as conflicting
the binutils built system tries to statically link to the dynamic version of
libintl which obviously fails
Modified:
head/devel/aarch64-binutils/Makefile
head/devel/aarch64-none-elf-binutils/pkg-plist
head/devel/arm-gnueabi-binutils/pkg-plist
head/devel/arm-none-eabi-binutils/pkg-plist
and:
Author: bapt
Date: Wed Mar 22 21:12:23 2017
New Revision: 436733
URL:
https://svnweb.freebsd.org/changeset/ports/436733
Log:
Actulally update binutils
Deleted:
head/devel/binutils/files/patch-gold_options.h
Modified:
head/devel/binutils/Makefile
head/devel/binutils/distinfo
But the likes of devel/aarch64-binutils is a slave
from devel/binutils --so devel/binutils also needed
to be reverted. So I did:
# svnlite update -r436731 devel/binutils \
devel/aarch64 \
devel/aarch64-none-elf-binutils \
devel/arm-gnueabi-binutils \
devel/arm-none-eabi-binutil
and then rebuilt them.
This allowed the buildworld to complete.
Context details:
# uname -paKU
FreeBSD FreeBSDx64 12.0-CURRENT FreeBSD 12.0-CURRENT r315870M amd64 amd64 1200027 1200027
# more ~/sys_build_scripts.amd64-host/make_pine64_nodebug_clang_bootstrap-amd64-host.sh
kldload -n filemon && \
script ~/sys_typescripts/typescript_make_pine64_nodebug_clang_bootstrap-amd64-host-$(date +%Y-%m-%d:%H:%M:%S) \
env __MAKE_CONF="/root/src.configs/make.conf" SRCCONF="/dev/null" SRC_ENV_CONF="/root/src.configs/src.conf.pine64-clang-bootstrap.amd64-host" \
WITH_META_MODE=yes \
MAKEOBJDIRPREFIX="/usr/obj/pine64_clang" \
make $*
#WITH_META_MODE=yes \
#
# more ~/src.configs/src.conf.pine64-clang-bootstrap.amd64-host
TO_TYPE=aarch64
TOOLS_TO_TYPE=${TO_TYPE}
#
KERNCONF=GENERIC-NODBG
TARGET=arm64
.if ${.MAKE.LEVEL} == 0
TARGET_ARCH=${TO_TYPE}
.export TARGET_ARCH
.endif
#
WITH_CROSS_COMPILER=
WITHOUT_SYSTEM_COMPILER=
#
WITH_LIBCPLUSPLUS=
WITHOUT_BINUTILS_BOOTSTRAP=
WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=
WITH_CLANG_BOOTSTRAP=
WITH_CLANG=
WITH_CLANG_IS_CC=
WITH_CLANG_FULL=
WITH_CLANG_EXTRAS=
WITH_LLD=
WITH_LLDB=
#
WITH_BOOT=
WITHOUT_LIB32=
WITHOUT_LIBSOFT=
#
WITHOUT_GCC_BOOTSTRAP=
WITHOUT_GCC=
WITHOUT_GCC_IS_CC=
WITHOUT_GNUCXX=
#
NO_WERROR=
#WERROR=
#MALLOC_PRODUCTION=
#
WITH_REPRODUCIBLE_BUILD=
WITH_DEBUG_FILES=
#
CROSS_BINUTILS_PREFIX=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/
XCFLAGS+= -B${CROSS_BINUTILS_PREFIX}
XCXXFLAGS+= -B${CROSS_BINUTILS_PREFIX}
# There is no XCPPFLAGS but XCPP gets XCFLAGS content.
#
XCFLAGS+= -mcpu=cortex-a53
XCXXFLAGS+= -mcpu=cortex-a53
# There is no XCPPFLAGS but XCPP gets XCFLAGS content.
# more ~/src.configs/make.conf
CFLAGS.gcc+= -v
(But gcc is not in use here.)
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-arm
mailing list