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.

Reply via email to