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)