https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87880

Iain Sandoe <iains at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW
            Summary|[9/10 regression] All macOS |[9 regression] All macOS
                   |asan execution tests FAIL   |asan execution tests FAIL

--- Comment #14 from Iain Sandoe <iains at gcc dot gnu.org> ---
fixed on trunk.

NOTE: on earlier Darwin platforms (10.7-10.15) it is highly recommended to
build llvm-symbolizer and then:

export ASAN_SYMBOLIZER_PATH=/path/to/llvm-symbolizer

This is because the "atos" implementation for these versions does not seem to
be 100% compatible with the newer sanitisers - the effect is extremely long
timeouts on test fails (so we're talking about hours to run the asan.exp suite
if that happens).  AFAIK, atos is not open-sourced for Darwin, so the best fix
is to use the LLVM version - which is.

---

The following modification is being tested for inclusion in 9.3 (it just makes
the additional check dependent on USING_MAC_INTERPOSE which is fine since the
symbol table for libasan is not affected by this on Darwin/Mac OS).

There is no soname bump needed for this (although, technically, the fault is
not fixed for non-Darwin, in practice the problem has not manifest there
anyway)

diff --git a/libsanitizer/asan/Makefile.am b/libsanitizer/asan/Makefile.am
index 867240d244..6efbc1df7f 100644
--- a/libsanitizer/asan/Makefile.am
+++ b/libsanitizer/asan/Makefile.am
@@ -5,7 +5,7 @@ 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
 if USING_MAC_INTERPOSE
-DEFS += -DMAC_INTERPOSE_FUNCTIONS -DMISSING_BLOCKS_SUPPORT
+DEFS += -DMAC_INTERPOSE_FUNCTIONS -DMISSING_BLOCKS_SUPPORT
-DASAN_HAS_CXA_RETHROW_PRIMARY_EXCEPTION=0
 endif
 AM_CXXFLAGS = -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic
-Wno-long-long  -fPIC -fno-builtin -fno-exceptions -fno-rtti
-fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros
-fno-ipa-icf
 AM_CXXFLAGS += $(LIBSTDCXX_RAW_CXX_CXXFLAGS)

Reply via email to