As indicated by Joseph's comment on BZ#17726, this symbol is most
likely a historical ABI accident. This patch make it on both arm
and sparc ABIs a compat_symbol.
Checked against a build arm-linux-gnueabihf, sparcv9-linux-gnu, adn
sparc64-linux-gnu to see if the symbol is still present.
* gmon/Versions (libc) [GLIBC_2.31]: New entry.
* sysdeps/unix/sysv/linux/arm/profil-counter.h (profil_counter):
Make a compat_symbol.
* sysdeps/unix/sysv/linux/sparc/profil-counter.h
(__profil_counter_global): Likewise.
2019-08-23 Adhemerval Zanella <adhemerval.zanella@linaro.org>
Florian Weimer <fweimer@redhat.com>
+ * gmon/Versions (libc) [GLIBC_2.31]: New entry.
+ * sysdeps/unix/sysv/linux/arm/profil-counter.h (profil_counter):
+ Make a compat_symbol.
+ * sysdeps/unix/sysv/linux/sparc/profil-counter.h
+ (__profil_counter_global): Likewise.
+
* debug/segfault.c (install_handler): Use SA_SIGINFO if defined.
* sysdeps/generic/profil-counter.h (__profil_counter): Cast to
uintptr_t.
GLIBC_2.2.3 {
sprofil;
}
+ GLIBC_2.31 {
+ }
}
asm volatile ("");
}
#ifndef __profil_counter
-weak_alias (__profil_counter, profil_counter)
+# include <shlib-compat.h>
+# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_31)
+compat_symbol (libc, __profil_counter, profil_counter, GLIBC_2_0);
+# endif
#endif
#include <sysdeps/unix/sysv/linux/profil-counter.h>
#ifndef __profil_counter
+# include <shlib-compat.h>
+# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_31)
void
__profil_counter_global (int signo, struct sigcontext *si)
{
profil_count (si->si_regs.pc);
#endif
}
-weak_alias (__profil_counter_global, profil_counter)
+compat_symbol (libc, __profil_counter_global, profil_counter, GLIBC_2_0);
+# endif
#endif