diff options
author | Martin Liska <mliska@suse.cz> | 2016-08-09 23:01:19 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2016-08-09 21:01:19 +0000 |
commit | 6dce6418c50b26cb8eaa353366c70b96887bd010 (patch) | |
tree | faae9e1aeec8d36a73488f3184badaa2d622f925 /libgcc | |
parent | ab50a2153e0602a0d4384b0de390fb7322676479 (diff) | |
download | gcc-6dce6418c50b26cb8eaa353366c70b96887bd010.zip gcc-6dce6418c50b26cb8eaa353366c70b96887bd010.tar.gz gcc-6dce6418c50b26cb8eaa353366c70b96887bd010.tar.bz2 |
Remove __gcov_indirect_call_profiler
* Makefile.in: Remove __gcov_indirect_call_profiler.
* libgcov-profiler.c (__gcov_indirect_call_profiler): Remove
function.
* libgcov.h: And the declaration of the function.
From-SVN: r239306
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 7 | ||||
-rw-r--r-- | libgcc/Makefile.in | 2 | ||||
-rw-r--r-- | libgcc/libgcov-profiler.c | 27 | ||||
-rw-r--r-- | libgcc/libgcov.h | 2 |
4 files changed, 8 insertions, 30 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 5b05a7c..aaff313 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,5 +1,12 @@ 2016-08-09 Martin Liska <mliska@suse.cz> + * Makefile.in: Remove __gcov_indirect_call_profiler. + * libgcov-profiler.c (__gcov_indirect_call_profiler): Remove + function. + * libgcov.h: And the declaration of the function. + +2016-08-09 Martin Liska <mliska@suse.cz> + * libgcov-profiler.c (__gcov_pow2_profiler): Consider 0 as not power of two. diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in index f09b39b..efaf7f7 100644 --- a/libgcc/Makefile.in +++ b/libgcc/Makefile.in @@ -859,7 +859,7 @@ include $(iterator) LIBGCOV_MERGE = _gcov_merge_add _gcov_merge_single _gcov_merge_delta \ _gcov_merge_ior _gcov_merge_time_profile _gcov_merge_icall_topn LIBGCOV_PROFILER = _gcov_interval_profiler _gcov_pow2_profiler \ - _gcov_one_value_profiler _gcov_indirect_call_profiler \ + _gcov_one_value_profiler \ _gcov_average_profiler _gcov_ior_profiler \ _gcov_indirect_call_profiler_v2 _gcov_time_profiler \ _gcov_indirect_call_topn_profiler diff --git a/libgcc/libgcov-profiler.c b/libgcc/libgcov-profiler.c index 6da8a94..a99d93b 100644 --- a/libgcc/libgcov-profiler.c +++ b/libgcc/libgcov-profiler.c @@ -231,33 +231,6 @@ __gcov_indirect_call_topn_profiler (gcov_type value, void* cur_func) } #endif -#ifdef L_gcov_indirect_call_profiler -/* This function exist only for workaround of binutils bug 14342. - Once this compatibility hack is obsolette, it can be removed. */ - -/* By default, the C++ compiler will use function addresses in the - vtable entries. Setting TARGET_VTABLE_USES_DESCRIPTORS to nonzero - tells the compiler to use function descriptors instead. The value - of this macro says how many words wide the descriptor is (normally 2). - - It is assumed that the address of a function descriptor may be treated - as a pointer to a function. */ - -/* Tries to determine the most common value among its inputs. */ -void -__gcov_indirect_call_profiler (gcov_type* counter, gcov_type value, - void* cur_func, void* callee_func) -{ - /* If the C++ virtual tables contain function descriptors then one - function may have multiple descriptors and we need to dereference - the descriptors to see if they point to the same function. */ - if (cur_func == callee_func - || (__LIBGCC_VTABLE_USES_DESCRIPTORS__ && callee_func - && *(void **) cur_func == *(void **) callee_func)) - __gcov_one_value_profiler_body (counter, value); -} -#endif - #ifdef L_gcov_indirect_call_profiler_v2 /* These two variables are used to actually track caller and callee. Keep diff --git a/libgcc/libgcov.h b/libgcc/libgcov.h index ae77998..80f13e2 100644 --- a/libgcc/libgcov.h +++ b/libgcc/libgcov.h @@ -270,8 +270,6 @@ extern void __gcov_merge_icall_topn (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; extern void __gcov_interval_profiler (gcov_type *, gcov_type, int, unsigned); extern void __gcov_pow2_profiler (gcov_type *, gcov_type); extern void __gcov_one_value_profiler (gcov_type *, gcov_type); -extern void __gcov_indirect_call_profiler (gcov_type*, gcov_type, - void*, void*); extern void __gcov_indirect_call_profiler_v2 (gcov_type, void *); extern void __gcov_time_profiler (gcov_type *); extern void __gcov_average_profiler (gcov_type *, gcov_type); |