mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-02 18:55:56 +08:00
libsanitizer: Only build libhwasan when targeting AArch64
Though the library has limited support for x86, we don't have any support for generating code targeting x86 so there is no point building for that target. Ensure we build for AArch64 but not for AArch64 ilp32. libsanitizer/ChangeLog: * Makefile.am: Condition Build hwasan directory. * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Set HWASAN_SUPPORTED based on target architecture. * configure.tgt: Likewise.
This commit is contained in:
parent
edb07cb95a
commit
8a769f816f
@ -14,7 +14,7 @@ endif
|
||||
if LIBBACKTRACE_SUPPORTED
|
||||
SUBDIRS += libbacktrace
|
||||
endif
|
||||
SUBDIRS += lsan asan ubsan hwasan
|
||||
SUBDIRS += lsan asan ubsan
|
||||
nodist_saninclude_HEADERS += \
|
||||
include/sanitizer/lsan_interface.h \
|
||||
include/sanitizer/asan_interface.h \
|
||||
@ -23,6 +23,9 @@ nodist_saninclude_HEADERS += \
|
||||
if TSAN_SUPPORTED
|
||||
SUBDIRS += tsan
|
||||
endif
|
||||
if HWASAN_SUPPORTED
|
||||
SUBDIRS += hwasan
|
||||
endif
|
||||
endif
|
||||
|
||||
## May be used by toolexeclibdir.
|
||||
|
@ -97,6 +97,7 @@ target_triplet = @target@
|
||||
@SANITIZER_SUPPORTED_TRUE@@USING_MAC_INTERPOSE_FALSE@am__append_2 = interception
|
||||
@LIBBACKTRACE_SUPPORTED_TRUE@@SANITIZER_SUPPORTED_TRUE@am__append_3 = libbacktrace
|
||||
@SANITIZER_SUPPORTED_TRUE@@TSAN_SUPPORTED_TRUE@am__append_4 = tsan
|
||||
@HWASAN_SUPPORTED_TRUE@@SANITIZER_SUPPORTED_TRUE@am__append_5 = hwasan
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
|
||||
@ -208,7 +209,7 @@ ETAGS = etags
|
||||
CTAGS = ctags
|
||||
CSCOPE = cscope
|
||||
DIST_SUBDIRS = sanitizer_common interception libbacktrace lsan asan \
|
||||
ubsan hwasan tsan
|
||||
ubsan tsan hwasan
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ALLOC_FILE = @ALLOC_FILE@
|
||||
AMTAR = @AMTAR@
|
||||
@ -364,7 +365,7 @@ sanincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include/sanitizer
|
||||
nodist_saninclude_HEADERS = $(am__append_1)
|
||||
@SANITIZER_SUPPORTED_TRUE@SUBDIRS = sanitizer_common $(am__append_2) \
|
||||
@SANITIZER_SUPPORTED_TRUE@ $(am__append_3) lsan asan ubsan \
|
||||
@SANITIZER_SUPPORTED_TRUE@ hwasan $(am__append_4)
|
||||
@SANITIZER_SUPPORTED_TRUE@ $(am__append_4) $(am__append_5)
|
||||
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
|
||||
|
||||
# Work around what appears to be a GNU make bug handling MAKEFLAGS
|
||||
|
50
libsanitizer/configure
vendored
50
libsanitizer/configure
vendored
@ -659,6 +659,8 @@ link_libubsan
|
||||
link_libtsan
|
||||
link_libhwasan
|
||||
link_libasan
|
||||
HWASAN_SUPPORTED_FALSE
|
||||
HWASAN_SUPPORTED_TRUE
|
||||
LSAN_SUPPORTED_FALSE
|
||||
LSAN_SUPPORTED_TRUE
|
||||
TSAN_SUPPORTED_FALSE
|
||||
@ -12362,7 +12364,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 12365 "configure"
|
||||
#line 12367 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -12468,7 +12470,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 12471 "configure"
|
||||
#line 12473 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -15819,6 +15821,7 @@ fi
|
||||
# Get target configury.
|
||||
unset TSAN_SUPPORTED
|
||||
unset LSAN_SUPPORTED
|
||||
unset HWASAN_SUPPORTED
|
||||
. ${srcdir}/configure.tgt
|
||||
if test "x$TSAN_SUPPORTED" = "xyes"; then
|
||||
TSAN_SUPPORTED_TRUE=
|
||||
@ -15836,6 +15839,14 @@ else
|
||||
LSAN_SUPPORTED_FALSE=
|
||||
fi
|
||||
|
||||
if test "x$HWASAN_SUPPORTED" = "xyes"; then
|
||||
HWASAN_SUPPORTED_TRUE=
|
||||
HWASAN_SUPPORTED_FALSE='#'
|
||||
else
|
||||
HWASAN_SUPPORTED_TRUE='#'
|
||||
HWASAN_SUPPORTED_FALSE=
|
||||
fi
|
||||
|
||||
|
||||
# Check for functions needed.
|
||||
for ac_func in clock_getres clock_gettime clock_settime lstat readlink
|
||||
@ -16818,7 +16829,7 @@ ac_config_files="$ac_config_files Makefile libsanitizer.spec libbacktrace/backtr
|
||||
ac_config_headers="$ac_config_headers config.h"
|
||||
|
||||
|
||||
ac_config_files="$ac_config_files interception/Makefile sanitizer_common/Makefile libbacktrace/Makefile lsan/Makefile asan/Makefile hwasan/Makefile ubsan/Makefile"
|
||||
ac_config_files="$ac_config_files interception/Makefile sanitizer_common/Makefile libbacktrace/Makefile lsan/Makefile asan/Makefile ubsan/Makefile"
|
||||
|
||||
|
||||
if test "x$TSAN_SUPPORTED" = "xyes"; then
|
||||
@ -16826,6 +16837,11 @@ if test "x$TSAN_SUPPORTED" = "xyes"; then
|
||||
|
||||
fi
|
||||
|
||||
if test "x$HWASAN_SUPPORTED" = "xyes"; then
|
||||
ac_config_files="$ac_config_files hwasan/Makefile"
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
@ -17090,6 +17106,10 @@ if test -z "${LSAN_SUPPORTED_TRUE}" && test -z "${LSAN_SUPPORTED_FALSE}"; then
|
||||
as_fn_error $? "conditional \"LSAN_SUPPORTED\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${HWASAN_SUPPORTED_TRUE}" && test -z "${HWASAN_SUPPORTED_FALSE}"; then
|
||||
as_fn_error $? "conditional \"HWASAN_SUPPORTED\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${USING_MAC_INTERPOSE_TRUE}" && test -z "${USING_MAC_INTERPOSE_FALSE}"; then
|
||||
as_fn_error $? "conditional \"USING_MAC_INTERPOSE\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
@ -18099,9 +18119,9 @@ do
|
||||
"libbacktrace/Makefile") CONFIG_FILES="$CONFIG_FILES libbacktrace/Makefile" ;;
|
||||
"lsan/Makefile") CONFIG_FILES="$CONFIG_FILES lsan/Makefile" ;;
|
||||
"asan/Makefile") CONFIG_FILES="$CONFIG_FILES asan/Makefile" ;;
|
||||
"hwasan/Makefile") CONFIG_FILES="$CONFIG_FILES hwasan/Makefile" ;;
|
||||
"ubsan/Makefile") CONFIG_FILES="$CONFIG_FILES ubsan/Makefile" ;;
|
||||
"tsan/Makefile") CONFIG_FILES="$CONFIG_FILES tsan/Makefile" ;;
|
||||
"hwasan/Makefile") CONFIG_FILES="$CONFIG_FILES hwasan/Makefile" ;;
|
||||
|
||||
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
|
||||
esac
|
||||
@ -20026,17 +20046,6 @@ _EOF
|
||||
;;
|
||||
"asan/Makefile":F) cat > vpsed$$ << \_EOF
|
||||
s!`test -f '$<' || echo '$(srcdir)/'`!!
|
||||
_EOF
|
||||
sed -f vpsed$$ $ac_file > tmp$$
|
||||
mv tmp$$ $ac_file
|
||||
rm vpsed$$
|
||||
echo 'MULTISUBDIR =' >> $ac_file
|
||||
ml_norecursion=yes
|
||||
. ${multi_basedir}/config-ml.in
|
||||
{ ml_norecursion=; unset ml_norecursion;}
|
||||
;;
|
||||
"hwasan/Makefile":F) cat > vpsed$$ << \_EOF
|
||||
s!`test -f '$<' || echo '$(srcdir)/'`!!
|
||||
_EOF
|
||||
sed -f vpsed$$ $ac_file > tmp$$
|
||||
mv tmp$$ $ac_file
|
||||
@ -20059,6 +20068,17 @@ _EOF
|
||||
;;
|
||||
"tsan/Makefile":F) cat > vpsed$$ << \_EOF
|
||||
s!`test -f '$<' || echo '$(srcdir)/'`!!
|
||||
_EOF
|
||||
sed -f vpsed$$ $ac_file > tmp$$
|
||||
mv tmp$$ $ac_file
|
||||
rm vpsed$$
|
||||
echo 'MULTISUBDIR =' >> $ac_file
|
||||
ml_norecursion=yes
|
||||
. ${multi_basedir}/config-ml.in
|
||||
{ ml_norecursion=; unset ml_norecursion;}
|
||||
;;
|
||||
"hwasan/Makefile":F) cat > vpsed$$ << \_EOF
|
||||
s!`test -f '$<' || echo '$(srcdir)/'`!!
|
||||
_EOF
|
||||
sed -f vpsed$$ $ac_file > tmp$$
|
||||
mv tmp$$ $ac_file
|
||||
|
@ -96,9 +96,11 @@ fi
|
||||
# Get target configury.
|
||||
unset TSAN_SUPPORTED
|
||||
unset LSAN_SUPPORTED
|
||||
unset HWASAN_SUPPORTED
|
||||
. ${srcdir}/configure.tgt
|
||||
AM_CONDITIONAL(TSAN_SUPPORTED, [test "x$TSAN_SUPPORTED" = "xyes"])
|
||||
AM_CONDITIONAL(LSAN_SUPPORTED, [test "x$LSAN_SUPPORTED" = "xyes"])
|
||||
AM_CONDITIONAL(HWASAN_SUPPORTED, [test "x$HWASAN_SUPPORTED" = "xyes"])
|
||||
|
||||
# Check for functions needed.
|
||||
AC_CHECK_FUNCS(clock_getres clock_gettime clock_settime lstat readlink)
|
||||
@ -352,7 +354,7 @@ AH_BOTTOM([#include "libbacktrace/backtrace-rename.h"])
|
||||
AC_CONFIG_FILES([Makefile libsanitizer.spec libbacktrace/backtrace-supported.h])
|
||||
AC_CONFIG_HEADER(config.h)
|
||||
|
||||
AC_CONFIG_FILES(AC_FOREACH([DIR], [interception sanitizer_common libbacktrace lsan asan hwasan ubsan], [DIR/Makefile ]),
|
||||
AC_CONFIG_FILES(AC_FOREACH([DIR], [interception sanitizer_common libbacktrace lsan asan ubsan], [DIR/Makefile ]),
|
||||
[cat > vpsed$$ << \_EOF
|
||||
s!`test -f '$<' || echo '$(srcdir)/'`!!
|
||||
_EOF
|
||||
@ -380,6 +382,21 @@ _EOF
|
||||
])
|
||||
fi
|
||||
|
||||
if test "x$HWASAN_SUPPORTED" = "xyes"; then
|
||||
AC_CONFIG_FILES(AC_FOREACH([DIR], [hwasan], [DIR/Makefile ]),
|
||||
[cat > vpsed$$ << \_EOF
|
||||
s!`test -f '$<' || echo '$(srcdir)/'`!!
|
||||
_EOF
|
||||
sed -f vpsed$$ $ac_file > tmp$$
|
||||
mv tmp$$ $ac_file
|
||||
rm vpsed$$
|
||||
echo 'MULTISUBDIR =' >> $ac_file
|
||||
ml_norecursion=yes
|
||||
. ${multi_basedir}/config-ml.in
|
||||
AS_UNSET([ml_norecursion])
|
||||
])
|
||||
fi
|
||||
|
||||
AC_SUBST([TSAN_TARGET_DEPENDENT_OBJECTS])
|
||||
AC_SUBST([SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS])
|
||||
|
||||
|
@ -60,6 +60,7 @@ case "${target}" in
|
||||
TSAN_SUPPORTED=yes
|
||||
LSAN_SUPPORTED=yes
|
||||
TSAN_TARGET_DEPENDENT_OBJECTS=tsan_rtl_aarch64.lo
|
||||
HWASAN_SUPPORTED=yes
|
||||
fi
|
||||
;;
|
||||
x86_64-*-darwin2* | x86_64-*-darwin1[2-9]* | i?86-*-darwin1[2-9]*)
|
||||
|
Loading…
Reference in New Issue
Block a user