Date: Sat, 17 Aug 2019 20:39:16 -0700 From: Mark Millard <marklmi@yahoo.com> To: freebsd-toolchain@freebsd.org, freebsd-ppc@freebsd.org Subject: head -r351178 amd64->powerpc (32-bit) cross build using devel/xtoolchain-llvm90: "ld: error: symbol '_ThreadRuneLocale' has no type" Message-ID: <C356C1D8-2C9E-4E7D-A39B-EC91D2DA206C@yahoo.com>
next in thread | raw e-mail | index | archive | help
I decided to see what would happen if I tried a 32-bit powerpc buildworld buildkernel (cross build) based on using devel/llvm90 (after the rc2 update). Where and how it stopped is shown below. (Note the reference to clang-9 as well.) --- all_subdir_usr.bin --- --- apply.full --- ld: error: symbol '_ThreadRuneLocale' has no type >>> defined in = /usr/obj/powerpcvtsc-xtoolchain-llvm/powerpc.powerpc/usr/src/powerpc.power= pc/tmp/lib/libc.so.7 >>> referenced by _ctype.h:0 = (/usr/obj/powerpcvtsc-xtoolchain-llvm/powerpc.powerpc/usr/src/powerpc.powe= rpc/tmp/usr/include/_ctype.h:0) >>> apply.o:(main) ld: error: symbol '_ThreadRuneLocale' has no type >>> defined in = /usr/obj/powerpcvtsc-xtoolchain-llvm/powerpc.powerpc/usr/src/powerpc.power= pc/tmp/lib/libc.so.7 >>> referenced by runetype.h:98 = (/usr/obj/powerpcvtsc-xtoolchain-llvm/powerpc.powerpc/usr/src/powerpc.powe= rpc/tmp/usr/include/runetype.h:98) >>> apply.o:(main) --- all_subdir_lib --- . . . --- all_subdir_usr.bin --- clang-9: error: linker command failed with exit code 1 (use -v to see = invocation) --- all_subdir_bin --- . . . --- all_subdir_usr.bin --- *** [apply.full] Error code 1 make[4]: stopped in /usr/src/usr.bin/apply .ERROR_TARGET=3D'apply.full' = .ERROR_META_FILE=3D'/usr/obj/powerpcvtsc-xtoolchain-llvm/powerpc.powerpc/u= sr/src/powerpc.powerpc/usr.bin/apply/apply.full.meta' .MAKE.LEVEL=3D'4' MAKEFILE=3D'' .MAKE.MODE=3D'meta missing-filemon=3Dyes missing-meta=3Dyes silent=3Dyes = verbose' _ERROR_CMD=3D'/usr/local/bin/clang90 -target powerpc-unknown-freebsd13.0 = --sysroot=3D/usr/obj/powerpcvtsc-xtoolchain-llvm/powerpc.powerpc/usr/src/p= owerpc.powerpc/tmp -B/var/empty -O2 -pipe -g -std=3Dgnu99 = -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Wall = -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes = -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual = -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align = -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls = -Wold-style-definition -Wno-pointer-sign -Wmissing-variable-declarations = -Wthread-safety -Wno-empty-body -Wno-string-plus-int = -Wno-unused-const-variable -Qunused-arguments -Wl,--secure-plt = -Wl,--no-threads -o apply.full apply.o -lsbuf ;' .CURDIR=3D'/usr/src/usr.bin/apply' .MAKE=3D'make' = .OBJDIR=3D'/usr/obj/powerpcvtsc-xtoolchain-llvm/powerpc.powerpc/usr/src/po= werpc.powerpc/usr.bin/apply' .TARGETS=3D'all' = DESTDIR=3D'/usr/obj/powerpcvtsc-xtoolchain-llvm/powerpc.powerpc/usr/src/po= werpc.powerpc/tmp' LD_LIBRARY_PATH=3D'' MACHINE=3D'powerpc' MACHINE_ARCH=3D'powerpc' MAKEOBJDIRPREFIX=3D'' MAKESYSPATH=3D'/usr/src/share/mk' MAKE_VERSION=3D'20181221' = PATH=3D'/usr/obj/powerpcvtsc-xtoolchain-llvm/powerpc.powerpc/usr/src/power= pc.powerpc/tmp/usr/sbin:/usr/obj/powerpcvtsc-xtoolchain-llvm/powerpc.power= pc/usr/src/powerpc.powerpc/tmp/usr/bin:/usr/obj/powerpcvtsc-xtoolchain-llv= m/powerpc.powerpc/usr/src/powerpc.powerpc/tmp/legacy/usr/sbin:/usr/obj/pow= erpcvtsc-xtoolchain-llvm/powerpc.powerpc/usr/src/powerpc.powerpc/tmp/legac= y/usr/bin:/usr/obj/powerpcvtsc-xtoolchain-llvm/powerpc.powerpc/usr/src/pow= erpc.powerpc/tmp/legacy/bin::/sbin:/bin:/usr/sbin:/usr/bin' SRCTOP=3D'/usr/src' = OBJTOP=3D'/usr/obj/powerpcvtsc-xtoolchain-llvm/powerpc.powerpc/usr/src/pow= erpc.powerpc' .MAKE.MAKEFILES=3D'/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.powerpc-xtoolchain-llvm.amd64-host = /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/src.sys.obj.mk = /usr/src/share/mk/auto.obj.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/usr.bin/apply/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.linker.mk = /usr/src/share/mk/bsd.prog.mk /usr/src/share/mk/bsd.init.mk = /usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init.mk = /usr/src/usr.bin/apply/../Makefile.inc /usr/src/share/mk/bsd.libnames.mk = /usr/src/share/mk/src.libnames.mk /usr/src/share/mk/bsd.nls.mk = /usr/src/share/mk/bsd.confs.mk /usr/src/share/mk/bsd.files.mk = /usr/src/share/mk/bsd.dirs.mk /usr/src/share/mk/bsd.incs.mk = /usr/src/share/mk/bsd.links.mk /usr/src/share/mk/bsd.man.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=3D'. /usr/src/usr.bin/apply' 1 error This was based on: # more ~/src.configs/src.conf.powerpc-xtoolchain-llvm.amd64-host TO_TYPE=3Dpowerpc LLVM_VINTAGE=3Dllvm90 # KERNCONF=3DGENERICvtsc-NODBG TARGET=3Dpowerpc .if ${.MAKE.LEVEL} =3D=3D 0 TARGET_ARCH=3D${TO_TYPE} .export TARGET_ARCH .endif # WITHOUT_CROSS_COMPILER=3D WITHOUT_SYSTEM_COMPILER=3D WITHOUT_SYSTEM_LINKER=3D # WITH_LLVM_LIBUNWIND=3D WITH_LIBCPLUSPLUS=3D WITHOUT_LLD_BOOTSTRAP=3D WITHOUT_BINUTILS_BOOTSTRAP=3D WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=3D WITHOUT_LLVM_TARGET_ALL=3D WITHOUT_CLANG_BOOTSTRAP=3D WITH_CLANG=3D WITH_CLANG_IS_CC=3D WITH_CLANG_FULL=3D WITH_CLANG_EXTRAS=3D WITH_LLD=3D WITH_LLD_IS_LD=3D WITHOUT_BINUTILS=3D WITHOUT_PORT_BASE_BINUTILS=3D WITH_LLDB=3D # WITH_BOOT=3D # LOADER_DEFAULT_INTERP=3D4th # WITHOUT_GCC_BOOTSTRAP=3D WITHOUT_GCC=3D WITHOUT_GCC_IS_CC=3D WITHOUT_GNUCXX=3D # NO_WERROR=3D # # Avoid build aborting for the likes of, for example, # sign mismatch errors for integer types. Avoids: # [-Werror,-Wpointer-sign] # WERROR=3D MALLOC_PRODUCTION=3D # # Avoid stripping but do not control host -g status as well: DEBUG_FLAGS+=3D # WITH_REPRODUCIBLE_BUILD=3D WITH_DEBUG_FILES=3D # # # For TO (so-called "cross") stages . . . # CROSS_TOOLCHAIN=3D${LLVM_VINTAGE} #X_COMPILER_TYPE=3Dclang CROSS_BINUTILS_PREFIX=3D/usr/local/${LLVM_VINTAGE}/bin/ .if ${.MAKE.LEVEL} =3D=3D 0 XCC=3D/usr/local/bin/clang90 XCXX=3D/usr/local/bin/clang++90 XCPP=3D/usr/local/bin/clang-cpp90 .export XCC .export XCXX .export XCPP XAS=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-as #XAR=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-ar XLD=3D/usr/local/${LLVM_VINTAGE}/bin/ld #XNM=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-nm XOBJCOPY=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-objcopy XOBJDUMP=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-objdump #XRANLIB=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-ranlib #XSIZE=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-size #XSTRINGS=3D/usr/local/${LLVM_VINTAGE}/bin/llvm-strings .export XAS #.export XAR .export XLD #.export XNM .export XOBJCOPY .export XOBJDUMP #.export XRANLIB #.export XSIZE #.export XSTRINGS .endif # # # =46rom based on clang (via system). . . # .if ${.MAKE.LEVEL} =3D=3D 0 CC=3D/usr/bin/clang CXX=3D/usr/bin/clang++ CPP=3D/usr/bin/clang-cpp .export CC .export CXX .export CPP .endif # more /usr/src/sys/powerpc/conf/GENERICvtsc-NODBG=20 # # GENERIC -- Custom configuration for the powerpc/powerpc # include "GENERIC" ident GENERICvtsc-NODBG makeoptions DEBUG=3D-g # Build kernel with gdb(1) = debug symbols nooptions PS3 # Sony Playstation 3 = HACK!!! to allow sc 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 options GDB # HACK!!! ... options ALT_BREAK_TO_DEBUGGER options BREAK_TO_DEBUGGER # Extra stuff: #options VERBOSE_SYSINIT # Enable verbose sysinit = messages #options BOOTVERBOSE=3D1 #options BOOTHOWTO=3DRB_VERBOSE #options KTR #options KTR_MASK=3DKTR_BUF ##options KTR_CPUMASK=3D0xF #options KTR_VERBOSE # HACK!!! to allow sc for 2560x1440 display on Radeon X1950 that vt = historically mishandled during booting device sc #device kbdmux # HACK: already listed by vt options SC_OFWFB # OFW frame buffer options SC_DFLT_FONT # compile font in makeoptions SC_DFLT_FONT=3Dcp437 # 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 # Avoid dynamic loads? device filemon device geom_label device mac_ntpd # more ~/src.configs/make.conf=20 CFLAGS.gcc+=3D -v LDFLAGS.lld+=3D -Wl,--no-threads =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C356C1D8-2C9E-4E7D-A39B-EC91D2DA206C>