From 0e9007a90e62bcf14c17c5cdfb942e2437a534e3 Mon Sep 17 00:00:00 2001 From: jhb Date: Thu, 20 Sep 2018 16:43:58 +0000 Subject: [PATCH] MFC 337270: Install the 32-bit compat sanitizer libraries. The lib32 build was already building the i386 version of the clang sanitizers (libclang_rt) but they were not being installed. This enables the installation. MK_TOOLCHAIN=no was originally added to the install make environment to disable includes so that NO_INCS could be removed. The MK_TOOLCHAIN in bsd.incs.mk was subsequently renamed to MK_INCLUDES, but bsd.lib.mk doesn't even include bsd.incs.mk when LIBRARIES_ONLY is defined which the install make environment for compat libs now defines. However, setting MK_TOOLCHAIN=no forced MK_CLANG=no which disabled libclang_rt during the install32 phase. Remove MK_TOOLCHAIN=no since LIBRARIES_ONLY is now sufficient. Since the libcompat environment overrides both LIBDIR and SHLIBDIR, libclang_rt/Makefile.inc has to set both variables to force the libraries to be installed to the location expected by the compiler. --- Makefile.libcompat | 2 +- lib/libclang_rt/Makefile.inc | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile.libcompat b/Makefile.libcompat index 4a682b7ce24..18a8ab8bd33 100644 --- a/Makefile.libcompat +++ b/Makefile.libcompat @@ -111,7 +111,7 @@ LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \ LIBCOMPATWMAKE+= ${LIBCOMPATWMAKEENV} ${MAKE} ${LIBCOMPATWMAKEFLAGS} \ MK_MAN=no MK_HTML=no LIBCOMPATIMAKE+= ${LIBCOMPATWMAKE:NINSTALL=*:NDESTDIR=*} \ - MK_TOOLCHAIN=no ${IMAKE_INSTALL} \ + ${IMAKE_INSTALL} \ -DLIBRARIES_ONLY _LC_LIBDIRS.yes= lib gnu/lib diff --git a/lib/libclang_rt/Makefile.inc b/lib/libclang_rt/Makefile.inc index 0b7e07689d6..a639de5074f 100644 --- a/lib/libclang_rt/Makefile.inc +++ b/lib/libclang_rt/Makefile.inc @@ -9,6 +9,7 @@ CRTSRC= ${SRCTOP}/contrib/compiler-rt CLANGDIR= /usr/lib/clang/6.0.1 LIBDIR= ${CLANGDIR}/lib/freebsd +SHLIBDIR= ${LIBDIR} NO_PIC= MK_PROFILE= no -- 2.45.0