Skip site navigation (1)Skip section navigation (2)
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>