diff options
author | Martin Liska <mliska@suse.cz> | 2018-09-24 13:23:35 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2018-09-24 11:23:35 +0000 |
commit | d609225669c3475adc236cd66968f99a3ca5aab5 (patch) | |
tree | e48bdb59dc6e0acedfd7907e651de1669461318d | |
parent | bf9f9292131058faa03177b7a0d6f1c265eb29f2 (diff) | |
download | gcc-d609225669c3475adc236cd66968f99a3ca5aab5.zip gcc-d609225669c3475adc236cd66968f99a3ca5aab5.tar.gz gcc-d609225669c3475adc236cd66968f99a3ca5aab5.tar.bz2 |
Guard memory block allocation.
2018-09-24 Martin Liska <mliska@suse.cz>
* memory-block.h (memory_block_pool::release): Annotate with
valgrind that the memory is not accessible.
From-SVN: r264529
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/memory-block.h | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fc16b25..de6973a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2018-09-24 Martin Liska <mliska@suse.cz> + * memory-block.h (memory_block_pool::release): Annotate with + valgrind that the memory is not accessible. + +2018-09-24 Martin Liska <mliska@suse.cz> + PR sanitizer/85774 * asan.c: Make asan_handled_variables extern. * asan.h: Likewise. diff --git a/gcc/memory-block.h b/gcc/memory-block.h index 5440428..c045d2e 100644 --- a/gcc/memory-block.h +++ b/gcc/memory-block.h @@ -68,6 +68,11 @@ memory_block_pool::release (void *uncast_block) block_list *block = new (uncast_block) block_list; block->m_next = instance.m_blocks; instance.m_blocks = block; + + VALGRIND_DISCARD (VALGRIND_MAKE_MEM_NOACCESS ((char *)uncast_block + + sizeof (block_list), + block_size + - sizeof (block_list))); } extern void *mempool_obstack_chunk_alloc (size_t) ATTRIBUTE_MALLOC; |