aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2018-01-09 12:47:26 +0100
committerMartin Liska <marxin@gcc.gnu.org>2018-01-09 11:47:26 +0000
commitaa5bfa8d5d9b5751bc6b1854d663fbf777849711 (patch)
tree930c819c0edf70fbbecb4c4359100cd3f5a160df /gcc
parent684684c628b66c097d3ab8a289d7ad5dab29bd7f (diff)
downloadgcc-aa5bfa8d5d9b5751bc6b1854d663fbf777849711.zip
gcc-aa5bfa8d5d9b5751bc6b1854d663fbf777849711.tar.gz
gcc-aa5bfa8d5d9b5751bc6b1854d663fbf777849711.tar.bz2
Add gcc_assert about stack alignment (PR sanitizer/82517).
2018-01-09 Martin Liska <mliska@suse.cz> PR sanitizer/82517 * asan.c (shadow_mem_size): Add gcc_assert. From-SVN: r256378
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/asan.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0def533..0d9089b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2018-01-09 Martin Liska <mliska@suse.cz>
+
+ PR sanitizer/82517
+ * asan.c (shadow_mem_size): Add gcc_assert.
+
2018-01-09 Georg-Johann Lay <avr@gjlay.de>
Don't save registers in main().
diff --git a/gcc/asan.c b/gcc/asan.c
index 5363008..df9bc7b 100644
--- a/gcc/asan.c
+++ b/gcc/asan.c
@@ -1228,6 +1228,11 @@ asan_function_start (void)
static unsigned HOST_WIDE_INT
shadow_mem_size (unsigned HOST_WIDE_INT size)
{
+ /* It must be possible to align stack variables to granularity
+ of shadow memory. */
+ gcc_assert (BITS_PER_UNIT
+ * ASAN_SHADOW_GRANULARITY <= MAX_SUPPORTED_STACK_ALIGNMENT);
+
return ROUND_UP (size, ASAN_SHADOW_GRANULARITY) / ASAN_SHADOW_GRANULARITY;
}