diff options
-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 fc16b257..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; |