mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
ab50a2153e
commit
6dce6418c5
|
|
@ -1,3 +1,10 @@
|
|||
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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue