[Warning: The following report is already based on trying to work around prior 
problems already noted elsewhere. That makes these somewhat more suspect. The 
-march=armv7a that is rejected below is from XCC/XCXX/XCPP content in my 
src.conf. I later list the src.conf content used.]

[WITH_META_MODE=yes is in use. cleanworld had been done before hand.]

Example failure:

> # more 
> /usr/obj/clang/arm.armv6/usr/src/worldsoft/usr/src/include/rpcsvc/key_prot.h.meta
> # Meta data file 
> /usr/obj/clang/arm.armv6/usr/src/worldsoft/usr/src/include/rpcsvc/key_prot.h.meta
> CMD RPCGEN_CPP=/usr/bin/clang-cpp\ -march=armv7a\ -mcpu=cortex-a7\ 
> -B/usr/local/arm-gnueabi-freebsd/bin\ -DCOMPAT_SOFTFP\ -mfloat-abi=softfp\ \ 
> -L/usr/obj/clang/arm.armv6/usr/src/libsoft/usr/libsoft\ \ 
> --sysroot=/usr/obj/clang/arm.armv6/usr/src/libsoft\ \ 
> -B/usr/obj/clang/arm.armv6/usr/src/tmp/usr/bin\ 
> -B/usr/obj/clang/arm.armv6/usr/src/libsoft/usr/libsoft rpcgen -C -h 
> -DWANT_NFS3 /usr/src/include/rpcsvc/key_prot.x -o key_prot.h
> CWD /usr/obj/clang/arm.armv6/usr/src/worldsoft/usr/src/include/rpcsvc
> TARGET key_prot.h
> -- command output --
> clang-cpp: warning: argument unused during compilation: '-mcpu=cortex-a7'
> clang-cpp: warning: argument unused during compilation: '-mfloat-abi=softfp'
> clang-cpp: warning: argument unused during compilation: 
> '-L/usr/obj/clang/arm.armv6/usr/src/libsoft/usr/libsoft'
> error: unknown target CPU 'armv7a'
> *** Error code 1
. . .

rpcb_prot.h was similar.

These appear to be because -target armv6-???-freebsd11.0 was not supplied to 
clang-cpp (given that -march=armv7a was supplied to clang-cpp via src.conf 
material but armv7a is not a variation of the host (amd64) context).

(I try to be sure that clang-cpp is always told the specific -march that I’m 
targeting in case clang-cpp provides macro definitions on that basis that might 
be used.)


Adding a -target in XCPP and retrying got farther but failed for XCC not 
getting a -target and so another rejection of -march=armv7a happened:

> # more 
> /usr/obj/clang/arm.armv6/usr/src/worldsoft/usr/src/gnu/lib/libssp/libssp_nonshared/ssp-local.o*
> # Meta data file 
> /usr/obj/clang/arm.armv6/usr/src/worldsoft/usr/src/gnu/lib/libssp/libssp_nonshared/ssp-local.o.meta
> CMD /usr/bin/clang -march=armv7a -mcpu=cortex-a7 
> -B/usr/local/arm-gnueabi-freebsd/bin -DCOMPAT_SOFTFP -mfloat-abi=softfp  
> -L/usr/obj/clang/arm.armv6/usr/src/libsoft/usr/libsoft  
> --sysroot=/usr/obj/clang/arm.armv6/usr/src/libsoft  
> -B/usr/obj/clang/arm.armv6/usr/src/tmp/usr/bin 
> -B/usr/obj/clang/arm.armv6/usr/src/libsoft/usr/libsoft  -O -pipe 
> -DHAVE_CONFIG_H -I/usr/src/gnu/lib/libssp/libssp_nonshared/..  
> -I/usr/src/gnu/lib/libssp/libssp_nonshared/../../../../contrib/gcclibs/libssp 
>  
> -I/usr/src/gnu/lib/libssp/libssp_nonshared/../../../../contrib/gcclibs/include
>  -fPIC -DPIC -fvisibility=hidden -mfloat-abi=softfp  -std=gnu99    
> -Qunused-arguments  -c 
> /usr/src/gnu/lib/libssp/libssp_nonshared/../../../../contrib/gcclibs/libssp/ssp-local.c
>  -o ssp-local.o
> CMD 
> CWD 
> /usr/obj/clang/arm.armv6/usr/src/worldsoft/usr/src/gnu/lib/libssp/libssp_nonshared
> TARGET ssp-local.o
> -- command output --
> error: unknown target CPU 'armv7a'
> *** Error code 1
. . .

Some of the other clang command line arguments (-mcpu and -B) are also from my 
src.conf file. More is missing for a normal compile than just -target material.


[Note that having even just a "redundant" -march=armv6 in XCC/XCXX/XCPP is a 
good testing technique for proving that all the usage has sufficient context to 
allow such an explicit specification from the right family.]



Supporting details. . .

make.conf empty.

src.conf (before forcing XCPP to have an armv6 family -target):

TO_TYPE=armv6
TOOLS_TO_TYPE=arm-gnueabi
#
KERNCONF=RPI2-NODBG
TARGET=arm
.if ${.MAKE.LEVEL} == 0
TARGET_ARCH=${TO_TYPE}
.export TARGET_ARCH
.endif
#
WITHOUT_CROSS_COMPILER=
WITHOUT_SYSTEM_COMPILER=
#
#CPUTYPE=soft
WITH_LIBSOFT=
WITH_LIBCPLUSPLUS=
WITHOUT_BINUTILS_BOOTSTRAP=
WITHOUT_CLANG_BOOTSTRAP=
WITH_CLANG=
WITH_CLANG_IS_CC=
WITH_CLANG_FULL=
WITH_CLANG_EXTRAS=
WITH_LLDB=
#
WITH_BOOT=
WITHOUT_LIB32=
#
WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=
WITHOUT_GCC_BOOTSTRAP=
WITHOUT_GCC=
WITHOUT_GCC_IS_CC=
WITHOUT_GNUCXX=
#
NO_WERROR=
#WERROR=
MALLOC_PRODUCTION=
#
WITH_DEBUG_FILES=
#
#
# To based on clang (via system)...
# TOOLS_TO_TYPE based on ${TO_TYPE}-xtoolchain-gcc related binutils...
#
.if ${.MAKE.LEVEL} == 0
XCC=/usr/bin/clang -march=armv7a -mcpu=cortex-a7 
-B/usr/local/${TOOLS_TO_TYPE}-freebsd/bin
XCXX=/usr/bin/clang++ -march=armv7a -mcpu=cortex-a7 
-B/usr/local/${TOOLS_TO_TYPE}-freebsd/bin
XCPP=/usr/bin/clang-cpp -march=armv7a -mcpu=cortex-a7 
-B/usr/local/${TOOLS_TO_TYPE}-freebsd/bin
.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)...
#
#COMPILER_TYPE=clang
.if ${.MAKE.LEVEL} == 0
CC=/usr/bin/clang
CXX=/usr/bin/clang++
CPP=/usr/bin/clang-cpp
.export CC
.export CXX
.export CPP
.endif


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

_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to