diff options
author | Martin Liska <mliska@suse.cz> | 2018-11-30 15:25:15 +0100 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2018-11-30 14:25:15 +0000 |
commit | 6e644a50045f8032b6d6ff19eb70d8b33dfc4dae (patch) | |
tree | b6ab18da4eaeb67ce5e78a93ed2b4b84bfa0b637 /gcc/lra-constraints.c | |
parent | b49f1a7e7c85add83637cf7df46b8fc9b5b299e9 (diff) | |
download | gcc-6e644a50045f8032b6d6ff19eb70d8b33dfc4dae.zip gcc-6e644a50045f8032b6d6ff19eb70d8b33dfc4dae.tar.gz gcc-6e644a50045f8032b6d6ff19eb70d8b33dfc4dae.tar.bz2 |
Make red zone size more flexible for stack variables (PR sanitizer/81715).
2018-11-30 Martin Liska <mliska@suse.cz>
PR sanitizer/81715
* asan.c (asan_shadow_cst): Remove, partially transform
into flush_redzone_payload.
(RZ_BUFFER_SIZE): New.
(struct asan_redzone_buffer): New.
(asan_redzone_buffer::emit_redzone_byte): Likewise.
(asan_redzone_buffer::flush_redzone_payload): Likewise.
(asan_redzone_buffer::flush_if_full): Likewise.
(asan_emit_stack_protection): Use asan_redzone_buffer class
that is responsible for proper aligned stores and flushing
of shadow memory payload.
* asan.h (ASAN_MIN_RED_ZONE_SIZE): New.
(asan_var_and_redzone_size): Likewise.
* cfgexpand.c (expand_stack_vars): Use smaller alignment
(ASAN_MIN_RED_ZONE_SIZE) in order to make shadow memory
for automatic variables more compact.
2018-11-30 Martin Liska <mliska@suse.cz>
PR sanitizer/81715
* c-c++-common/asan/asan-stack-small.c: New test.
From-SVN: r266664
Diffstat (limited to 'gcc/lra-constraints.c')
0 files changed, 0 insertions, 0 deletions