aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/memory-block.h5
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;