aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2016-08-09 23:01:19 +0200
committerMartin Liska <marxin@gcc.gnu.org>2016-08-09 21:01:19 +0000
commit6dce6418c50b26cb8eaa353366c70b96887bd010 (patch)
treefaae9e1aeec8d36a73488f3184badaa2d622f925 /libgcc
parentab50a2153e0602a0d4384b0de390fb7322676479 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--libgcc/Makefile.in2
-rw-r--r--libgcc/libgcov-profiler.c27
-rw-r--r--libgcc/libgcov.h2
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);