49 lines
1.5 KiB
Diff
49 lines
1.5 KiB
Diff
2017-01-23 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
gcc/
|
|
* config/s390/s390.c (s390_asan_shadow_offset): New function.
|
|
(TARGET_ASAN_SHADOW_OFFSET): Redefine.
|
|
libsanitizer/
|
|
* configure.tgt: Enable asan and ubsan on 64-bit s390*-*-linux*.
|
|
|
|
--- gcc/config/s390/s390.c.jj 2017-01-19 16:58:25.000000000 +0100
|
|
+++ gcc/config/s390/s390.c 2017-01-23 16:32:28.220398187 +0100
|
|
@@ -15435,6 +15435,14 @@ s390_excess_precision (enum excess_preci
|
|
return FLT_EVAL_METHOD_UNPREDICTABLE;
|
|
}
|
|
|
|
+/* Implement the TARGET_ASAN_SHADOW_OFFSET hook. */
|
|
+
|
|
+static unsigned HOST_WIDE_INT
|
|
+s390_asan_shadow_offset (void)
|
|
+{
|
|
+ return TARGET_64BIT ? HOST_WIDE_INT_1U << 52 : HOST_WIDE_INT_UC (0x20000000);
|
|
+}
|
|
+
|
|
/* Initialize GCC target structure. */
|
|
|
|
#undef TARGET_ASM_ALIGNED_HI_OP
|
|
@@ -15536,6 +15544,8 @@ s390_excess_precision (enum excess_preci
|
|
#define TARGET_BUILD_BUILTIN_VA_LIST s390_build_builtin_va_list
|
|
#undef TARGET_EXPAND_BUILTIN_VA_START
|
|
#define TARGET_EXPAND_BUILTIN_VA_START s390_va_start
|
|
+#undef TARGET_ASAN_SHADOW_OFFSET
|
|
+#define TARGET_ASAN_SHADOW_OFFSET s390_asan_shadow_offset
|
|
#undef TARGET_GIMPLIFY_VA_ARG_EXPR
|
|
#define TARGET_GIMPLIFY_VA_ARG_EXPR s390_gimplify_va_arg
|
|
|
|
--- libsanitizer/configure.tgt.jj 2017-01-23 15:25:21.000000000 +0100
|
|
+++ libsanitizer/configure.tgt 2017-01-23 15:36:40.787456320 +0100
|
|
@@ -39,6 +39,11 @@ case "${target}" in
|
|
;;
|
|
sparc*-*-linux*)
|
|
;;
|
|
+ s390*-*-linux*)
|
|
+ if test x$ac_cv_sizeof_void_p = x4; then
|
|
+ UNSUPPORTED=1
|
|
+ fi
|
|
+ ;;
|
|
arm*-*-linux*)
|
|
;;
|
|
aarch64*-*-linux*)
|