Add gcc_assert about stack alignment (PR sanitizer/82517).
authorMartin Liska <mliska@suse.cz>
Tue, 9 Jan 2018 11:47:26 +0000 (12:47 +0100)
committerMartin Liska <marxin@gcc.gnu.org>
Tue, 9 Jan 2018 11:47:26 +0000 (11:47 +0000)
2018-01-09  Martin Liska  <mliska@suse.cz>

PR sanitizer/82517
* asan.c (shadow_mem_size): Add gcc_assert.

From-SVN: r256378

gcc/ChangeLog
gcc/asan.c

index 0def53353395c6c1ed14c4afe9f22567854d5960..0d9089b5761df35ffca2238dd889e5edc315e4a2 100644 (file)
@@ -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().
index 53630088b76b824a391b5670f13e2681a77ce212..df9bc7b34049d496dbee914fa7d9acb1c4f52d7e 100644 (file)
@@ -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;
 }