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
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to