svn commit: r335704 - head/lib/libc/tests/ssp
Bryan Drewery
bdrewery at FreeBSD.org
Wed Jun 27 16:56:47 UTC 2018
Author: bdrewery
Date: Wed Jun 27 16:56:46 2018
New Revision: 335704
URL: https://svnweb.freebsd.org/changeset/base/335704
Log:
Rework check for libclang_rt to see if the needed library exists.
Currently libclang_rt is not provided for cross-building and as such
is not connected to cross-tools. For building clang once in universe
it is likely that libclang_rt won't exist for the universe toolchain
but even if it did it would not support anything but the native arch.
So explicitly check for support before enabling h_raw.
MFC after: 1 week
Reviewed by: dim
Sponsored by: Dell EMC
Differential Revision: https://reviews.freebsd.org/D16012
Modified:
head/lib/libc/tests/ssp/Makefile
Modified: head/lib/libc/tests/ssp/Makefile
==============================================================================
--- head/lib/libc/tests/ssp/Makefile Wed Jun 27 15:28:09 2018 (r335703)
+++ head/lib/libc/tests/ssp/Makefile Wed Jun 27 16:56:46 2018 (r335704)
@@ -1,9 +1,5 @@
# $FreeBSD$
-# XXX This is a workaround to allow i386 to cross-compile on an amd64 host.
-.include <host-target.mk>
-# XXX ---
-
.include <bsd.own.mk>
NO_WERROR=
@@ -35,21 +31,16 @@ PROGS+= h_memset
# probably needs to be fixed as it's currently hardcoded.
#
# sanitizer is not tested or supported for ARM right now. sbruno
-.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
-.if ${COMPILER_TYPE} == "clang" && ${MK_TOOLCHAIN} == "yes"
-.if ${COMPILER_VERSION} < 30500 || 30700 <= ${COMPILER_VERSION}
-
-# XXX This is a workaround to allow i386 to cross-compile on an amd64 host.
-.if ${MACHINE_CPUARCH} == ${_HOST_ARCH}
-# XXX ---
-
-PROGS+= h_raw
-
-# XXX This is a workaround to allow i386 to cross-compile on an amd64 host.
+.if ${COMPILER_TYPE} == "clang" && !defined(_SKIP_BUILD) && \
+ (!defined(_RECURSING_PROGS) || ${PROG} == "h_raw")
+.if !defined(_CLANG_RESOURCE_DIR)
+_CLANG_RESOURCE_DIR!= ${CC:N${CCACHE_BIN}} -print-resource-dir
+.export _CLANG_RESOURCE_DIR
.endif
-# XXX ---
-
-.endif
+_libclang_rt_arch= ${MACHINE_ARCH:S/amd64/x86_64/:C/hf$//:S/mipsn32/mips64/}
+_libclang_rt_ubsan= ${_CLANG_RESOURCE_DIR}/lib/freebsd/libclang_rt.ubsan_standalone-${_libclang_rt_arch}.a
+.if exists(${_libclang_rt_ubsan})
+PROGS+= h_raw
.endif
.endif
PROGS+= h_read
More information about the svn-src-all
mailing list