summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2017-01-31 13:50:20 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2017-01-31 13:50:20 +0000
commitfff1179b304d5d630ba1b833f0b6e4b63e40ec1f (patch)
tree2f528d2b1c3679e9e6b57ea61a1d782f08ecd68f
parentc8a0ba46ffa593afc6785c6b9378eb3c838f23a6 (diff)
downloadgcc-fff1179b304d5d630ba1b833f0b6e4b63e40ec1f.tar.gz
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*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245060 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/s390/s390.c10
-rw-r--r--libsanitizer/ChangeLog4
-rw-r--r--libsanitizer/configure.tgt5
4 files changed, 24 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 772a2f4bad3..604c9bd626a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2017-01-31 Jakub Jelinek <jakub@redhat.com>
+
+ * config/s390/s390.c (s390_asan_shadow_offset): New function.
+ (TARGET_ASAN_SHADOW_OFFSET): Redefine.
+
2017-01-31 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/78597
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index fe65846a4f2..93377cdf7c8 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -15435,6 +15435,14 @@ s390_excess_precision (enum excess_precision_type type)
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_precision_type type)
#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
diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog
index b0a4546f960..97728e766c6 100644
--- a/libsanitizer/ChangeLog
+++ b/libsanitizer/ChangeLog
@@ -1,3 +1,7 @@
+2017-01-31 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.tgt: Enable asan and ubsan on 64-bit s390*-*-linux*.
+
2017-01-24 Jakub Jelinek <jakub@redhat.com>
* configure.tgt: Enable tsan and lsan on powerpc64{,le}-*-linux*.
diff --git a/libsanitizer/configure.tgt b/libsanitizer/configure.tgt
index c59b2cd919b..e648051aab8 100644
--- a/libsanitizer/configure.tgt
+++ b/libsanitizer/configure.tgt
@@ -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*)