libgcc/ChangeLog: 2016-07-28 Martin Liska <mli...@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. --- libgcc/Makefile.in | 2 +- libgcc/libgcov-profiler.c | 27 --------------------------- libgcc/libgcov.h | 2 -- 3 files changed, 1 insertion(+), 30 deletions(-) diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in index 8b0fdd9..e2295ca 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_one_value_profiler_atomic \ _gcov_average_profiler _gcov_ior_profiler \ _gcov_indirect_call_profiler_v2 \ diff --git a/libgcc/libgcov-profiler.c b/libgcc/libgcov-profiler.c index 1b307ac..c1e287d 100644 --- a/libgcc/libgcov-profiler.c +++ b/libgcc/libgcov-profiler.c @@ -257,33 +257,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 0bd905b..337e558 100644 --- a/libgcc/libgcov.h +++ b/libgcc/libgcov.h @@ -271,8 +271,6 @@ 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_one_value_profiler_atomic (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_indirect_call_profiler_v2_atomic (gcov_type, void *); extern void __gcov_time_profiler (gcov_type *); -- 2.9.2