aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2018-04-26 01:21:32 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2018-04-26 01:21:32 +0000
commite92306590ef0c4e51a0fc0053469a28ed60b1c1c (patch)
tree3cb454fc989809387d794448cfc811acbac5b736
parent752361c980da04bd5a386d09af4388dac993c9b7 (diff)
downloadgcc-e92306590ef0c4e51a0fc0053469a28ed60b1c1c.zip
gcc-e92306590ef0c4e51a0fc0053469a28ed60b1c1c.tar.gz
gcc-e92306590ef0c4e51a0fc0053469a28ed60b1c1c.tar.bz2
mips.c (mips_asan_shadow_offset): New function.
* config/mips/mips.c (mips_asan_shadow_offset): New function. (TARGET_ASAN_SHADOW_OFFSET): Define. * config/mips/mips.h (FRAME_GROWS_DOWNWARD): Augment to also be true for -fsanitize=address. Co-Authored-By: Jean Lee <xiaoyur347@gmail.com> From-SVN: r259666
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/mips/mips.c11
-rw-r--r--gcc/config/mips/mips.h3
3 files changed, 21 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f00fdd8..dd88190 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2018-03-22 Hans-Peter Nilsson <hp@axis.com>
+ Jean Lee <xiaoyur347@gmail.com>
+
+ * config/mips/mips.c (mips_asan_shadow_offset): New function.
+ (TARGET_ASAN_SHADOW_OFFSET): Define.
+ * config/mips/mips.h (FRAME_GROWS_DOWNWARD): Augment to also be
+ true for -fsanitize=address.
+
2018-04-25 Mark Wielaard <mark@klomp.org>
* dwarf2out.c (file_info_cmp): Sort longer dir prefixes before
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index aabd4b1..bfe64bb 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -22307,6 +22307,14 @@ mips_constant_alignment (const_tree exp, HOST_WIDE_INT align)
return align;
}
+/* Implement the TARGET_ASAN_SHADOW_OFFSET hook. */
+
+static unsigned HOST_WIDE_INT
+mips_asan_shadow_offset (void)
+{
+ return 0x0aaa0000;
+}
+
/* Implement TARGET_STARTING_FRAME_OFFSET. See mips_compute_frame_info
for details about the frame layout. */
@@ -22618,6 +22626,9 @@ mips_starting_frame_offset (void)
#undef TARGET_CONSTANT_ALIGNMENT
#define TARGET_CONSTANT_ALIGNMENT mips_constant_alignment
+#undef TARGET_ASAN_SHADOW_OFFSET
+#define TARGET_ASAN_SHADOW_OFFSET mips_asan_shadow_offset
+
#undef TARGET_STARTING_FRAME_OFFSET
#define TARGET_STARTING_FRAME_OFFSET mips_starting_frame_offset
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 84ae675..f290560 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -2289,7 +2289,8 @@ enum reg_class
#define STACK_GROWS_DOWNWARD 1
-#define FRAME_GROWS_DOWNWARD flag_stack_protect
+#define FRAME_GROWS_DOWNWARD (flag_stack_protect != 0 \
+ || (flag_sanitize & SANITIZE_ADDRESS) != 0)
/* Size of the area allocated in the frame to save the GP. */