* cfgexpand.c (expand_stack_vars): If asan_vec is empty, start with
aligning frame offset to ASAN_RED_ZONE_SIZE bytes.
* c-c++-common/asan/pr88333.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266817
138bc75d-0d04-0410-961f-
82ee72b054a4
(backported
db93a9789e3993801a493fcde11da7f08f212f6e)
Change-Id: Ie0c2c8f000777190e316c4051e2e781a5be823ef
+2018-12-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/88333
+ * cfgexpand.c (expand_stack_vars): If asan_vec is empty, start with
+ aligning frame offset to ASAN_RED_ZONE_SIZE bytes.
+
2018-12-02 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/88291
= align_base (frame_offset,
MAX (alignb, ASAN_MIN_RED_ZONE_SIZE),
!FRAME_GROWS_DOWNWARD);
+ if (data->asan_vec.is_empty ())
+ {
+ alloc_stack_frame_space (0, ASAN_RED_ZONE_SIZE);
+ prev_offset = frame_offset;
+ }
tree repr_decl = NULL_TREE;
unsigned HOST_WIDE_INT size
= asan_var_and_redzone_size (stack_vars[i].size);
+2018-12-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/88333
+ * c-c++-common/asan/pr88333.c: New test.
+
2018-12-02 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/88291
--- /dev/null
+/* PR sanitizer/88333 */
+/* { dg-do compile { target fstack_protector } } */
+/* { dg-options "-fstack-protector-strong -fsanitize=address" } */
+
+void bar (int *);
+
+void
+foo (void)
+{
+ int c;
+ bar (&c);
+}