r266664 - in /trunk/gcc: ChangeLog asan.c asan....

marxin@gcc.gnu.org marxin@gcc.gnu.org
Fri Nov 30 14:25:00 GMT 2018


Author: marxin
Date: Fri Nov 30 14:25:15 2018
New Revision: 266664

URL: https://gcc.gnu.org/viewcvs?rev=266664&root=gcc&view=rev
Log:
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.

Added:
    trunk/gcc/testsuite/c-c++-common/asan/asan-stack-small.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/asan.c
    trunk/gcc/asan.h
    trunk/gcc/cfgexpand.c
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list