aboutsummaryrefslogtreecommitdiff
path: root/libsanitizer
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2019-06-18 08:01:00 +0000
committerIain Sandoe <iains@gcc.gnu.org>2019-06-18 08:01:00 +0000
commit9553f0d2216d4475d4d1afaa748b6b02f56c057b (patch)
tree931cc9398ba82af702c7908a603fcd1a67faf885 /libsanitizer
parent74b5fcf733823b353b331c0ca30e8b71ba98c9cf (diff)
downloadgcc-9553f0d2216d4475d4d1afaa748b6b02f56c057b.zip
gcc-9553f0d2216d4475d4d1afaa748b6b02f56c057b.tar.gz
gcc-9553f0d2216d4475d4d1afaa748b6b02f56c057b.tar.bz2
libsanitizer - remove reference to __cxa_rethrow_primary_exception.
For some Darwin versions the absence of the rethrow_primary_exception symbol causes almost all sanitizer tests to fail. The symbol is not present in libstdc++ and, therefore is is correct to remove the reference to it for all platforms. We do this by adding a new guard "ASAN_HAS_CXA_RETHROW_PRIMARY_EXCEPTION". libsanitizer/ 2019-06-18 Iain Sandoe <iain@sandoe.co.uk> PR libsanitizer/87880 * asan/asan_interceptors.h: (ASAN_INTERCEPT___CXA_RETHROW_PRIMARY_EXCEPTION): New. * asan/Makefile.am (DEFS): Add ASAN_HAS_CXA_RETHROW_PRIMARY_EXCEPTION, defined to 0. * asan/Makefile.in: Regenerated. * asan/libtool-version: Bump version. From-SVN: r272406
Diffstat (limited to 'libsanitizer')
-rw-r--r--libsanitizer/ChangeLog10
-rw-r--r--libsanitizer/asan/Makefile.am2
-rw-r--r--libsanitizer/asan/Makefile.in3
-rw-r--r--libsanitizer/asan/asan_interceptors.h7
-rw-r--r--libsanitizer/asan/libtool-version2
5 files changed, 20 insertions, 4 deletions
diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog
index ff11c88..627d689 100644
--- a/libsanitizer/ChangeLog
+++ b/libsanitizer/ChangeLog
@@ -1,3 +1,13 @@
+2019-06-18 Iain Sandoe <iain@sandoe.co.uk>
+
+ PR libsanitizer/87880
+ * asan/asan_interceptors.h:
+ (ASAN_INTERCEPT___CXA_RETHROW_PRIMARY_EXCEPTION): New.
+ * asan/Makefile.am (DEFS): Add
+ ASAN_HAS_CXA_RETHROW_PRIMARY_EXCEPTION, defined to 0.
+ * asan/Makefile.in: Regenerated.
+ * asan/libtool-version: Bump version.
+
2019-05-27 Segher Boessenkool <segher@kernel.crashing.org>
PR target/90639
diff --git a/libsanitizer/asan/Makefile.am b/libsanitizer/asan/Makefile.am
index 867240d..b18ab2a 100644
--- a/libsanitizer/asan/Makefile.am
+++ b/libsanitizer/asan/Makefile.am
@@ -3,7 +3,7 @@ AM_CPPFLAGS = -I $(top_srcdir)/include -I $(top_srcdir)
# May be used by toolexeclibdir.
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
-DEFS = -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DASAN_HAS_EXCEPTIONS=1 -DASAN_NEEDS_SEGV=1 -DCAN_SANITIZE_UB=0
+DEFS = -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DASAN_HAS_EXCEPTIONS=1 -DASAN_NEEDS_SEGV=1 -DCAN_SANITIZE_UB=0 -DASAN_HAS_CXA_RETHROW_PRIMARY_EXCEPTION=0
if USING_MAC_INTERPOSE
DEFS += -DMAC_INTERPOSE_FUNCTIONS -DMISSING_BLOCKS_SUPPORT
endif
diff --git a/libsanitizer/asan/Makefile.in b/libsanitizer/asan/Makefile.in
index 926ff7d..41bace4 100644
--- a/libsanitizer/asan/Makefile.in
+++ b/libsanitizer/asan/Makefile.in
@@ -256,7 +256,8 @@ CYGPATH_W = @CYGPATH_W@
DEFS = -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS \
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS \
-DASAN_HAS_EXCEPTIONS=1 -DASAN_NEEDS_SEGV=1 \
- -DCAN_SANITIZE_UB=0 $(am__append_1)
+ -DCAN_SANITIZE_UB=0 \
+ -DASAN_HAS_CXA_RETHROW_PRIMARY_EXCEPTION=0 $(am__append_1)
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
diff --git a/libsanitizer/asan/asan_interceptors.h b/libsanitizer/asan/asan_interceptors.h
index b599ebb..beb1dc9 100644
--- a/libsanitizer/asan/asan_interceptors.h
+++ b/libsanitizer/asan/asan_interceptors.h
@@ -79,7 +79,12 @@ void InitializePlatformInterceptors();
#if ASAN_HAS_EXCEPTIONS && !SANITIZER_WINDOWS && !SANITIZER_SOLARIS && \
!SANITIZER_NETBSD
# define ASAN_INTERCEPT___CXA_THROW 1
-# define ASAN_INTERCEPT___CXA_RETHROW_PRIMARY_EXCEPTION 1
+# if ! defined(ASAN_HAS_CXA_RETHROW_PRIMARY_EXCEPTION) \
+ || ASAN_HAS_CXA_RETHROW_PRIMARY_EXCEPTION
+# define ASAN_INTERCEPT___CXA_RETHROW_PRIMARY_EXCEPTION 1
+# else
+# define ASAN_INTERCEPT___CXA_RETHROW_PRIMARY_EXCEPTION 0
+# endif
# if defined(_GLIBCXX_SJLJ_EXCEPTIONS) || (SANITIZER_IOS && defined(__arm__))
# define ASAN_INTERCEPT__UNWIND_SJLJ_RAISEEXCEPTION 1
# else
diff --git a/libsanitizer/asan/libtool-version b/libsanitizer/asan/libtool-version
index e3138f3..c509757 100644
--- a/libsanitizer/asan/libtool-version
+++ b/libsanitizer/asan/libtool-version
@@ -3,4 +3,4 @@
# a separate file so that version updates don't involve re-running
# automake.
# CURRENT:REVISION:AGE
-5:0:0
+6:0:0