[I add a note showing aarch64-freebsd-ld is statically linked.] On 2017-Jun-21, at 6:39 PM, Mark Millard <markmi at dsl-only.net> wrote:
> For the first time ever I attempted to do an amd64 -> aarch64 > cross build that was xtoolchain based for buildworld buildkernel . > It failed as shown below. This was while linking with .pico > files. > > [Note: I used ". . ." in place of most of the huge .pico file list.] > > --- libc.so.7.full --- > building shared library libc.so.7 > --- libc_pic.a --- > building special pic c library > --- libc.so.7.full --- > /usr/local/bin/aarch64-freebsd-ld: > /usr/local/libexec/gcc/aarch64-unknown-freebsd12.0/6.3.0/liblto_plugin.so: > error loading plugin: Service unavailable > collect2: error: ld returned 1 exit status > *** [libc.so.7.full] Error code 1 FYI: /usr/local/bin/aarch64-freebsd-ld is statically linked. # file /usr/local/bin/aarch64-freebsd-ld* /usr/local/bin/aarch64-freebsd-ld: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), statically linked, for FreeBSD 12.0 (1200033), FreeBSD-style, not stripped /usr/local/bin/aarch64-freebsd-ld.bfd: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), statically linked, for FreeBSD 12.0 (1200033), FreeBSD-style, not stripped > make[4]: stopped in /usr/src/lib/libc > .ERROR_TARGET='libc.so.7.full' > .ERROR_META_FILE='/usr/obj/cortexA53_xtoolchain-gcc/arm64.aarch64/usr/src/lib/libc/libc.so.7.full.meta' > .MAKE.LEVEL='4' > MAKEFILE='' > .MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose' > _ERROR_CMD='@echo building shared library libc.so.7; @rm -f libc.so.7 > libc.so; /usr/local/bin/aarch64-unknown-freebsd12.0-gcc -mcpu=cortex-a53 > -isystem > /usr/obj/cortexA53_xtoolchain-gcc/arm64.aarch64/usr/src/tmp/usr/include > -L/usr/obj/cortexA53_xtoolchain-gcc/arm64.aarch64/usr/src/tmp/usr/lib > -B/usr/obj/cortexA53_xtoolchain-gcc/arm64.aarch64/usr/src/tmp/usr/lib > --sysroot=/usr/obj/cortexA53_xtoolchain-gcc/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;' > .CURDIR='/usr/src/lib/libc' > .MAKE='make' > .OBJDIR='/usr/obj/cortexA53_xtoolchain-gcc/arm64.aarch64/usr/src/lib/libc' > .TARGETS='all' > DESTDIR='/usr/obj/cortexA53_xtoolchain-gcc/arm64.aarch64/usr/src/tmp' > LD_LIBRARY_PATH='' > MACHINE='arm64' > MACHINE_ARCH='aarch64' > MAKEOBJDIRPREFIX='/usr/obj/cortexA53_xtoolchain-gcc/arm64.aarch64' > MAKESYSPATH='/usr/src/share/mk' > MAKE_VERSION='20170510' > PATH='/usr/obj/cortexA53_xtoolchain-gcc/arm64.aarch64/usr/src/tmp/legacy/usr/sbin:/usr/obj/cortexA53_xtoolchain-gcc/arm64.aarch64/usr/src/tmp/legacy/usr/bin:/usr/obj/cortexA53_xtoolchain-gcc/arm64.aarch64/usr/src/tmp/legacy/bin:/usr/obj/cortexA53_xtoolchain-gcc/arm64.aarch64/usr/src/tmp/usr/sbin:/usr/obj/cortexA53_xtoolchain-gcc/arm64.aarch64/usr/src/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin' > SRCTOP='/usr/src' > OBJTOP='/usr/obj/cortexA53_xtoolchain-gcc/arm64.aarch64/usr/src' > .MAKE.MAKEFILES='/usr/src/share/mk/sys.mk /usr/src/share/mk/local.sys.env.mk > /usr/src/share/mk/src.sys.env.mk > /root/src.configs/src.conf.cortexA53-xtoolchain-gcc.amd64-host > /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/bsd.suffixes.mk > /root/src.configs/make.conf /usr/src/share/mk/local.sys.mk > /usr/src/share/mk/src.sys.mk /dev/null /usr/src/lib/libc/Makefile > /usr/src/share/mk/src.opts.mk /usr/src/share/mk/bsd.own.mk > /usr/src/share/mk/bsd.opts.mk /usr/src/share/mk/bsd.cpu.mk > /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.compiler.mk > /usr/src/lib/libc/aarch64/Makefile.inc /usr/src/lib/libc/db/Makefile.inc > /usr/src/lib/libc/db/btree/Makefile.inc /usr/src/lib/libc/db/db/Makefile.inc > /usr/src/lib/libc/db/hash/Makefile.inc /usr/src/lib/libc/db/man/Makefile.inc > /usr/src/lib/libc/db/mpool/Makefile.inc > /usr/src/lib/libc/db/recno/Makefile.inc > /usr/src/lib/libc/compat-43/Makefile.inc /usr/src/lib/libc/gdtoa/Makefile.inc > /usr/src/lib/libc/gen/Makefile.inc /usr/src/lib/libc/aarch64/g en > /Makefile.inc /usr/src/lib/libc/gmon/Makefile.inc > /usr/src/lib/libc/iconv/Makefile.inc > /usr/src/lib/libc_nonshared/Makefile.iconv > /usr/src/lib/libc/inet/Makefile.inc /usr/src/lib/libc/isc/Makefile.inc > /usr/src/lib/libc/locale/Makefile.inc /usr/src/lib/libc/md/Makefile.inc > /usr/src/lib/libc/nameser/Makefile.inc /usr/src/lib/libc/net/Makefile.inc > /usr/src/lib/libc/nls/Makefile.inc /usr/src/lib/libc/posix1e/Makefile.inc > /usr/src/lib/libc/regex/Makefile.inc /usr/src/lib/libc/resolv/Makefile.inc > /usr/src/lib/libc/stdio/Makefile.inc /usr/src/lib/libc/stdlib/Makefile.inc > /usr/src/lib/libc/stdlib/jemalloc/Makefile.inc > /usr/src/lib/libc/stdtime/Makefile.inc /usr/src/lib/libc/string/Makefile.inc > /usr/src/lib/libc/aarch64/string/Makefile.inc > /usr/src/lib/libc/sys/Makefile.inc /usr/src/sys/sys/syscall.mk > /usr/src/lib/libc/aarch64/sys/Makefile.inc > /usr/src/lib/libc/secure/Makefile.inc /usr/src/lib/libc/rpc/Makefile.inc > /usr/src/lib/libc/uuid/Makefile.inc /usr/src/lib/libc/xdr/Makefile.inc /usr/ s > rc/lib/libc/yp/Makefile.inc /usr/src/lib/libc/capability/Makefile.inc > /usr/src/share/mk/bsd.lib.mk /usr/src/share/mk/bsd.init.mk > /usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init.mk > /usr/src/lib/libc/../Makefile.inc /usr/src/share/mk/bsd.libnames.mk > /usr/src/share/mk/src.libnames.mk /usr/src/share/mk/bsd.symver.mk > /usr/src/share/mk/bsd.nls.mk /usr/src/share/mk/bsd.files.mk > /usr/src/share/mk/bsd.incs.mk /usr/src/share/mk/bsd.confs.mk > /usr/src/share/mk/bsd.links.mk /usr/src/share/mk/bsd.dep.mk > /usr/src/share/mk/bsd.clang-analyze.mk /usr/src/share/mk/bsd.obj.mk > /usr/src/share/mk/bsd.subdir.mk /usr/src/share/mk/bsd.sys.mk' > .PATH='. /usr/src/lib/libc /usr/src/lib/libc/db/btree /usr/src/lib/libc/db/db > /usr/src/lib/libc/db/hash /usr/src/lib/libc/db/man /usr/src/lib/libc/db/mpool > /usr/src/lib/libc/db/recno /usr/src/lib/libc/compat-43 > /usr/src/lib/libc/gdtoa /usr/src/lib/libc/aarch64/gen /usr/src/lib/libc/gen > /usr/src/contrib/libc-pwcache /usr/src/contrib/libc-vis > /usr/src/lib/libc/gmon /usr/src/lib/libc/iconv /usr/src/lib/libc/inet > /usr/src/lib/libc/isc /usr/src/lib/libc/locale /usr/src/lib/libmd > /usr/src/lib/libc/nameser /usr/src/lib/libc/net /usr/src/lib/libc/nls > /usr/src/lib/libc/posix1e /usr/src/lib/libc/regex /usr/src/lib/libc/resolv > /usr/src/lib/libc/stdio /usr/src/lib/libc/stdlib > /usr/src/lib/libc/stdlib/jemalloc /usr/src/lib/libc/stdtime > /usr/src/contrib/tzcode/stdtime /usr/src/lib/libc/aarch64/string > /usr/src/lib/libc/string /usr/src/sys/libkern > /usr/src/contrib/cortex-strings/src/aarch64 /usr/src/lib/libc/aarch64/sys > /usr/src/lib/libc/sys /usr/src/lib/libc/secure /usr/src/lib/libc/rpc /usr/src/ li > b/libc/. /usr/src/lib/libc/uuid /usr/src/lib/libc/xdr /usr/src/lib/libc/yp > /usr/src/sys/kern /usr/src/lib/libc/capability' > 1 error > > # ls -lT /usr/local/libexec/gcc/aarch64-unknown-freebsd12.0/6.3.0/plugin/* > -r-xr-xr-x 1 root wheel 390264 Jun 17 15:06:21 2017 > /usr/local/libexec/gcc/aarch64-unknown-freebsd12.0/6.3.0/plugin/gengtype > > > The build context was: > > # more > ~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_incl_clang_xtoolchain-gcc-amd64-host.sh > > kldload -n filemon && \ > script > ~/sys_typescripts/typescript_make_cortexA53_nodebug_incl_clang_xtoolchain-gcc-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.cortexA53-xtoolchain-gcc.amd64-host" > \ > WITH_META_MODE=yes \ > MAKEOBJDIRPREFIX="/usr/obj/cortexA53_xtoolchain-gcc" \ > make $* > > > # more /root/src.configs/src.conf.cortexA53-xtoolchain-gcc.amd64-host > TO_TYPE=aarch64 > TOOLS_TO_TYPE=${TO_TYPE} > VERSION_CONTEXT=12.0 > # > KERNCONF=GENERIC-NODBG > TARGET=arm64 > .if ${.MAKE.LEVEL} == 0 > TARGET_ARCH=${TO_TYPE} > .export TARGET_ARCH > .endif > # > WITHOUT_CROSS_COMPILER= > WITHOUT_SYSTEM_COMPILER= > # > WITH_LIBCPLUSPLUS= > WITHOUT_BINUTILS_BOOTSTRAP= > WITHOUT_ELFTOOLCHAIN_BOOTSTRAP= > WITHOUT_CLANG_BOOTSTRAP= > WITH_CLANG= > WITH_CLANG_IS_CC= > WITH_CLANG_FULL= > WITH_CLANG_EXTRAS= > WITHOUT_LLD_BOOTSTRAP= > WITH_LLD= > WITH_LLD_IS_LD= > WITH_LLDB= > # > WITH_BOOT= > WITHOUT_LIB32= > # > WITHOUT_GCC_BOOTSTRAP= > WITHOUT_GCC= > WITHOUT_GCC_IS_CC= > WITHOUT_GNUCXX= > # > NO_WERROR= > #WERROR= > MALLOC_PRODUCTION= > # > WITH_REPRODUCIBLE_BUILD= > WITH_DEBUG_FILES= > # > XCFLAGS+= -mcpu=cortex-a53 > XCXXFLAGS+= -mcpu=cortex-a53 > # There is no XCPPFLAGS but XCPP gets XCFLAGS content. > # > # > # 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_TOOLCHAIN=${TO_TYPE}-gcc > X_COMPILER_TYPE=gcc > CROSS_BINUTILS_PREFIX=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ > .if ${.MAKE.LEVEL} == 0 > XCC=/usr/local/bin/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}-gcc > XCXX=/usr/local/bin/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}-g++ > XCPP=/usr/local/bin/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}-cpp > .export XCC > .export XCXX > .export XCPP > XAS=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/as > XAR=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ar > XLD=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ld > XNM=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/nm > XOBJCOPY=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objcopy > XOBJDUMP=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objdump > XRANLIB=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ranlib > XSIZE=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/size > #NO-SUCH: XSTRINGS=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/strings > XSTRINGS=/usr/local/bin/${TOOLS_TO_TYPE}-freebsd-strings > .export XAS > .export XAR > .export XLD > .export XNM > .export XOBJCOPY > .export XOBJDUMP > .export XRANLIB > .export XSIZE > .export XSTRINGS > .endif > # > # > # From based on clang (via system). . . > # > .if ${.MAKE.LEVEL} == 0 > CC=/usr/bin/clang > CXX=/usr/bin/clang++ > CPP=/usr/bin/clang-cpp > .export CC > .export CXX > .export CPP > .endif > > > # more /usr/src/sys/arm64/conf/GENERIC-NODBG > # > # GENERIC -- Custom configuration for the arm64/aarch64 > # > > include "GENERIC" > > ident GENERIC-NODBG > > makeoptions DEBUG=-g # Build kernel with gdb(1) debug > symbols > > options ALT_BREAK_TO_DEBUGGER > > options KDB # Enable kernel debugger support > > # For minimum debugger support (stable branch) use: > #options KDB_TRACE # Print a stack trace for a panic > options DDB # Enable the kernel debugger > > # Extra stuff: > #options VERBOSE_SYSINIT # Enable verbose sysinit messages > #options BOOTVERBOSE=1 > #options BOOTHOWTO=RB_VERBOSE > #options KTR > #options KTR_MASK=KTR_TRAP > ##options KTR_CPUMASK=0xF > #options KTR_VERBOSE > > # Disable any extra checking for. . . > nooptions DEADLKRES # Enable the deadlock resolver > nooptions INVARIANTS # Enable calls of extra sanity > checking > nooptions INVARIANT_SUPPORT # Extra sanity checks of internal > structures, required by INVARIANTS > nooptions WITNESS # Enable checks to detect deadlocks > and cycles > nooptions WITNESS_SKIPSPIN # Don't run witness on spinlocks for > speed > nooptions DIAGNOSTIC > nooptions MALLOC_DEBUG_MAXZONES # Separate malloc(9) zones > nooptions BUF_TRACKING > nooptions FULL_BUF_TRACKING === Mark Millard markmi at dsl-only.net _______________________________________________ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"