aboutsummaryrefslogtreecommitdiff
path: root/gcc/memory-block.h
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2018-09-24 13:23:35 +0200
committerMartin Liska <marxin@gcc.gnu.org>2018-09-24 11:23:35 +0000
commitd609225669c3475adc236cd66968f99a3ca5aab5 (patch)
treee48bdb59dc6e0acedfd7907e651de1669461318d /gcc/memory-block.h
parentbf9f9292131058faa03177b7a0d6f1c265eb29f2 (diff)
downloadgcc-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
Diffstat (limited to 'gcc/memory-block.h')
-rw-r--r--gcc/memory-block.h5
1 files changed, 5 insertions, 0 deletions
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;