diff options
author | Martin Liska <mliska@suse.cz> | 2020-06-02 13:31:48 +0200 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2020-07-31 10:57:50 +0200 |
commit | bc2b1a232b1825b421a1aaa21a0865b2d1e4e08c (patch) | |
tree | ca7bba49f12a55544ae9fa3ab9c44dfa5d9d0742 /libgcc/libgcov-driver.c | |
parent | 072a8b8fb6e861d8ac2db847bcc81dbcb1ef1b35 (diff) | |
download | gcc-bc2b1a232b1825b421a1aaa21a0865b2d1e4e08c.zip gcc-bc2b1a232b1825b421a1aaa21a0865b2d1e4e08c.tar.gz gcc-bc2b1a232b1825b421a1aaa21a0865b2d1e4e08c.tar.bz2 |
libgcov: support overloaded malloc
gcc/ChangeLog:
* gcov-io.h (GCOV_PREALLOCATED_KVP): New.
libgcc/ChangeLog:
* libgcov-driver.c: Add __gcov_kvp_pool
and __gcov_kvp_pool_index variables.
* libgcov.h (allocate_gcov_kvp): New.
(gcov_topn_add_value): Use it.
gcc/testsuite/ChangeLog:
* gcc.dg/tree-prof/indir-call-prof-malloc.c: New test.
Diffstat (limited to 'libgcc/libgcov-driver.c')
-rw-r--r-- | libgcc/libgcov-driver.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libgcc/libgcov-driver.c b/libgcc/libgcov-driver.c index 2590593..5891426 100644 --- a/libgcc/libgcov-driver.c +++ b/libgcc/libgcov-driver.c @@ -588,6 +588,12 @@ struct gcov_root __gcov_root; struct gcov_master __gcov_master = {GCOV_VERSION, 0}; +/* Pool of pre-allocated gcov_kvp strutures. */ +struct gcov_kvp __gcov_kvp_pool[GCOV_PREALLOCATED_KVP]; + +/* Index to first free gcov_kvp in the pool. */ +unsigned __gcov_kvp_pool_index; + void __gcov_exit (void) { |