https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79341
--- Comment #33 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Dominik Vogt from comment #32) > On a machine with > * glibc-2.23 :(; I was hoping you could test #c24 patch against glibc 2.18 > * kernel 4.4.0 + patch for the CVE > * CVE environment variable set to allow running the Asan tests Yeah, that is a workaround if you have known fixed kernel. Most of the issues can be fixed with: --- libsanitizer/configure.tgt.jj 2017-01-31 14:49:14.000000000 +0100 +++ libsanitizer/configure.tgt 2017-02-10 13:29:44.571294678 +0100 @@ -40,9 +40,6 @@ case "${target}" in sparc*-*-linux*) ;; s390*-*-linux*) - if test x$ac_cv_sizeof_void_p = x4; then - UNSUPPORTED=1 - fi ;; arm*-*-linux*) ;; --- libsanitizer/sanitizer_common/sanitizer_internal_defs.h.jj 2016-11-09 15:22:41.000000000 +0100 +++ libsanitizer/sanitizer_common/sanitizer_internal_defs.h 2017-02-10 13:29:28.359506264 +0100 @@ -287,7 +287,12 @@ void NORETURN CheckFailed(const char *fi enum LinkerInitialized { LINKER_INITIALIZED = 0 }; #if !defined(_MSC_VER) || defined(__clang__) -# define GET_CALLER_PC() (uptr)__builtin_return_address(0) +# if SANITIZER_S390_31 +# define GET_CALLER_PC() \ + (uptr)__builtin_extract_return_addr(__builtin_return_address(0)) +# else +# define GET_CALLER_PC() (uptr)__builtin_return_address(0) +# endif # define GET_CURRENT_FRAME() (uptr)__builtin_frame_address(0) inline void Trap() { __builtin_trap(); With this, the only FAILs I'm seeing on asan.exp and ubsan.exp are (various opt levels): -m64 only: FAIL: c-c++-common/ubsan/overflow-vec-1.c FAIL: c-c++-common/ubsan/overflow-vec-2.c both -m64 and -m31: FAIL: g++.dg/asan/deep-stack-uaf-1.C I can't reproduce float-cast-overflow-10.c.