Commit 6dce6418 by Martin Liska Committed by Martin Liska

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
parent ab50a215
2016-08-09 Martin Liska <mliska@suse.cz> 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 * libgcov-profiler.c (__gcov_pow2_profiler): Consider 0 as not
power of two. power of two.
......
...@@ -859,7 +859,7 @@ include $(iterator) ...@@ -859,7 +859,7 @@ include $(iterator)
LIBGCOV_MERGE = _gcov_merge_add _gcov_merge_single _gcov_merge_delta \ LIBGCOV_MERGE = _gcov_merge_add _gcov_merge_single _gcov_merge_delta \
_gcov_merge_ior _gcov_merge_time_profile _gcov_merge_icall_topn _gcov_merge_ior _gcov_merge_time_profile _gcov_merge_icall_topn
LIBGCOV_PROFILER = _gcov_interval_profiler _gcov_pow2_profiler \ 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_average_profiler _gcov_ior_profiler \
_gcov_indirect_call_profiler_v2 _gcov_time_profiler \ _gcov_indirect_call_profiler_v2 _gcov_time_profiler \
_gcov_indirect_call_topn_profiler _gcov_indirect_call_topn_profiler
......
...@@ -231,33 +231,6 @@ __gcov_indirect_call_topn_profiler (gcov_type value, void* cur_func) ...@@ -231,33 +231,6 @@ __gcov_indirect_call_topn_profiler (gcov_type value, void* cur_func)
} }
#endif #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 #ifdef L_gcov_indirect_call_profiler_v2
/* These two variables are used to actually track caller and callee. Keep /* These two variables are used to actually track caller and callee. Keep
......
...@@ -270,8 +270,6 @@ extern void __gcov_merge_icall_topn (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; ...@@ -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_interval_profiler (gcov_type *, gcov_type, int, unsigned);
extern void __gcov_pow2_profiler (gcov_type *, gcov_type); 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 (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 (gcov_type, void *);
extern void __gcov_time_profiler (gcov_type *); extern void __gcov_time_profiler (gcov_type *);
extern void __gcov_average_profiler (gcov_type *, gcov_type); extern void __gcov_average_profiler (gcov_type *, gcov_type);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment