[PATCH 2/X] [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. libsanitizer/ChangeLog: 2019-12-12 Matthew Malcomson * Makefile.am: Condition building hwasan directory. * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Set HWASAN_SUPPORTED based on target architecture. * configure.tgt: Likewise. ### Attachment also inlined for ease of reply### diff --git a/libsanitizer/Makefile.am b/libsanitizer/Makefile.am index 2a7e8e1debe838719db0f0fad218b2543cc3111b..065a65e78d49f7689a01ecb64db1f07ca83aa987 100644 --- a/libsanitizer/Makefile.am +++ b/libsanitizer/Makefile.am @@ -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. diff --git a/libsanitizer/Makefile.in b/libsanitizer/Makefile.in index 36aa952af7e04bc0e4fb94cdcd584d539193d781..75a99491cb1d4422fd5e2d93cae93eb883ae0963 100644 --- a/libsanitizer/Makefile.in +++ b/libsanitizer/Makefile.in @@ -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 \ @@ -207,7 +208,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@ @@ -363,7 +364,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 diff --git a/libsanitizer/configure b/libsanitizer/configure index ff72af73e6f77aaf93bf39e6799f896851a377dd..4e95194fe3567b1227c4036c2f5bf6540f735975 100755 --- a/libsanitizer/configure +++ b/libsanitizer/configure @@ -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 @@ -12335,7 +12337,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12338 "configure" +#line 12340 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12441,7 +12443,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12444 "configure" +#line 12446 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -15792,6 +15794,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= @@ -15809,6 +15812,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 @@ -16791,7 +16802,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 @@ -16799,6 +16810,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 + @@ -17059,6 +17075,10 @@ if test -z "${LSAN_SUPPORTED_TRUE}" && test -z "${LSAN_SUPPORTED_FALSE}"; then as_fn_error $? "conditional \"LSAN_SUPPORTE
[PATCH 2/X] [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. libsanitizer/ChangeLog: 2019-11-07 Matthew Malcomson * Makefile.am: Condition building hwasan directory. * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Set HWASAN_SUPPORTED based on target architecture. * configure.tgt: Likewise. ### Attachment also inlined for ease of reply### diff --git a/libsanitizer/Makefile.am b/libsanitizer/Makefile.am index 2a7e8e1debe838719db0f0fad218b2543cc3111b..065a65e78d49f7689a01ecb64db1f07ca83aa987 100644 --- a/libsanitizer/Makefile.am +++ b/libsanitizer/Makefile.am @@ -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. diff --git a/libsanitizer/Makefile.in b/libsanitizer/Makefile.in index 36aa952af7e04bc0e4fb94cdcd584d539193d781..75a99491cb1d4422fd5e2d93cae93eb883ae0963 100644 --- a/libsanitizer/Makefile.in +++ b/libsanitizer/Makefile.in @@ -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 \ @@ -207,7 +208,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@ @@ -363,7 +364,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 diff --git a/libsanitizer/configure b/libsanitizer/configure index ff72af73e6f77aaf93bf39e6799f896851a377dd..4e95194fe3567b1227c4036c2f5bf6540f735975 100755 --- a/libsanitizer/configure +++ b/libsanitizer/configure @@ -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 @@ -12335,7 +12337,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12338 "configure" +#line 12340 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12441,7 +12443,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12444 "configure" +#line 12446 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -15792,6 +15794,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= @@ -15809,6 +15812,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 @@ -16791,7 +16802,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 @@ -16799,6 +16810,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 + @@ -17059,6 +17075,10 @@ if test -z "${LSAN_SUPPORTED_TRUE}" && test -z "${LSAN_SUPPORTED_FALSE}"; then as_fn_error $? "conditional \"LSAN_SUPPORTE
[PATCH 2/X] 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. libsanitizer/ChangeLog: * Makefile.am: Condition building hwasan directory. * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Set HWASAN_SUPPORTED based on target architecture. * configure.tgt: Likewise. ### Attachment also inlined for ease of reply### diff --git a/libsanitizer/Makefile.am b/libsanitizer/Makefile.am index 2a7e8e1debe838719db0f0fad218b2543cc3111b..065a65e78d49f7689a01ecb64db1f07ca83aa987 100644 --- a/libsanitizer/Makefile.am +++ b/libsanitizer/Makefile.am @@ -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. diff --git a/libsanitizer/Makefile.in b/libsanitizer/Makefile.in index 2c57d49cbffdb486645aeb5f2c0f85d6e0fad124..3873ea4d7050f04a3f7bbd0dd3f2a71e9b65d287 100644 --- a/libsanitizer/Makefile.in +++ b/libsanitizer/Makefile.in @@ -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 diff --git a/libsanitizer/configure b/libsanitizer/configure index 9ed9669a85d3cfc2f2f623e796e61a5f8f7e4ded..cc5c229f4aebcdd454e9e2e415a8e16046dc1b1a 100755 --- a/libsanitizer/configure +++ b/libsanitizer/configure @@ -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 t
[PATCH 2/X] 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. ### Attachment also inlined for ease of reply### diff --git a/libsanitizer/Makefile.am b/libsanitizer/Makefile.am index 2a7e8e1debe838719db0f0fad218b2543cc3111b..065a65e78d49f7689a01ecb64db1f07ca83aa987 100644 --- a/libsanitizer/Makefile.am +++ b/libsanitizer/Makefile.am @@ -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. diff --git a/libsanitizer/Makefile.in b/libsanitizer/Makefile.in index 2c57d49cbffdb486645aeb5f2c0f85d6e0fad124..3873ea4d7050f04a3f7bbd0dd3f2a71e9b65d287 100644 --- a/libsanitizer/Makefile.in +++ b/libsanitizer/Makefile.in @@ -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 diff --git a/libsanitizer/configure b/libsanitizer/configure index 27e72c089cb891dcce09494fa9e39eebe55d2598..720d4e17044170e4b91c42fede685761d98c1965 100755 --- a/libsanitizer/configure +++ b/libsanitizer/configure @@ -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 $? "conditi
Re: [PATCH 2/X] libsanitizer: Only build libhwasan when targeting AArch64
Matthew Malcomson writes: > 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. OK, thanks. Richard > ### Attachment also inlined for ease of reply > ### > > > diff --git a/libsanitizer/Makefile.am b/libsanitizer/Makefile.am > index > 2a7e8e1debe838719db0f0fad218b2543cc3111b..065a65e78d49f7689a01ecb64db1f07ca83aa987 > 100644 > --- a/libsanitizer/Makefile.am > +++ b/libsanitizer/Makefile.am > @@ -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. > diff --git a/libsanitizer/Makefile.in b/libsanitizer/Makefile.in > index > 2c57d49cbffdb486645aeb5f2c0f85d6e0fad124..3873ea4d7050f04a3f7bbd0dd3f2a71e9b65d287 > 100644 > --- a/libsanitizer/Makefile.in > +++ b/libsanitizer/Makefile.in > @@ -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 > diff --git a/libsanitizer/configure b/libsanitizer/configure > index > 27e72c089cb891dcce09494fa9e39eebe55d2598..720d4e17044170e4b91c42fede685761d98c1965 > 100755 > --- a/libsanitizer/configure > +++ b/libsanitizer/configure > @@ -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 >
Re: [PATCH 2/X] libsanitizer: Only build libhwasan when targeting AArch64
Matthew Malcomson writes: > diff --git a/libsanitizer/configure.tgt b/libsanitizer/configure.tgt > index > 52503f1a880ba08b515b8a429ac44a262873f74b..fb55ae9762e9ac6531087a258e1291b5635fcd3e > 100644 > --- a/libsanitizer/configure.tgt > +++ b/libsanitizer/configure.tgt > @@ -61,6 +61,7 @@ case "${target}" in > LSAN_SUPPORTED=yes > TSAN_TARGET_DEPENDENT_OBJECTS=tsan_rtl_aarch64.lo > fi > + HWASAN_SUPPORTED=yes > ;; >x86_64-*-darwin1[2-9]* | i?86-*-darwin1[2-9]*) > TSAN_SUPPORTED=no It might be worth having a comment here to emphasise that hwasan is supported for both ILP32 and LP64. OK with or without that change in combination with the other patches. Thanks, Richard