mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
powerpc: Remove backtrace implementation
The powerpc optimization to provide a fast stacktrace requires some ad-hoc code to handle Linux signal frames and the change is fragile once the kernel decides to slight change its execution sequence [1]. The generic implementation work as-is and it should be future proof since the kernel provides the expected CFI directives in vDSO shared page. Checked on powerpc-linux-gnu, powerpc64le-linux-gnu, and powerpc64-linux-gnu. [1] https://sourceware.org/pipermail/libc-alpha/2021-January/122027.html
This commit is contained in:
@ -71,17 +71,6 @@ PROCINFO_CLASS int (*_dl_vdso_clock_getres_time64) (clockid_t,
|
||||
# ifdef HAVE_GET_TBFREQ
|
||||
PROCINFO_CLASS uint64_t (*_dl_vdso_get_tbfreq)(void) RELRO;
|
||||
# endif
|
||||
/* The sigtramp are used on powerpc backtrace without using
|
||||
INLINE_VSYSCALL, so there is no need to set their type. */
|
||||
# ifdef HAVE_SIGTRAMP_RT64
|
||||
PROCINFO_CLASS void *_dl_vdso_sigtramp_rt64 RELRO;
|
||||
# endif
|
||||
# ifdef HAVE_SIGTRAMP_RT32
|
||||
PROCINFO_CLASS void *_dl_vdso_sigtramp_rt32 RELRO;
|
||||
# endif
|
||||
# ifdef HAVE_SIGTRAMP_32
|
||||
PROCINFO_CLASS void *_dl_vdso_sigtramp_32 RELRO;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#undef RELRO
|
||||
|
@ -47,15 +47,6 @@ setup_vdso_pointers (void)
|
||||
#ifdef HAVE_GET_TBFREQ
|
||||
GLRO(dl_vdso_get_tbfreq) = dl_vdso_vsym (HAVE_GET_TBFREQ);
|
||||
#endif
|
||||
#ifdef HAVE_SIGTRAMP_RT64
|
||||
GLRO(dl_vdso_sigtramp_rt64) = dl_vdso_vsym (HAVE_SIGTRAMP_RT64);
|
||||
#endif
|
||||
#ifdef HAVE_SIGTRAMP_RT32
|
||||
GLRO(dl_vdso_sigtramp_rt32) = dl_vdso_vsym (HAVE_SIGTRAMP_RT32);
|
||||
#endif
|
||||
#ifdef HAVE_SIGTRAMP_32
|
||||
GLRO(dl_vdso_sigtramp_32) = dl_vdso_vsym (HAVE_SIGTRAMP_32);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -255,11 +255,4 @@
|
||||
#define HAVE_GETTIMEOFDAY_VSYSCALL "__kernel_gettimeofday"
|
||||
#define HAVE_GET_TBFREQ "__kernel_get_tbfreq"
|
||||
|
||||
#if defined(__PPC64__) || defined(__powerpc64__)
|
||||
# define HAVE_SIGTRAMP_RT64 "__kernel_sigtramp_rt64"
|
||||
#else
|
||||
# define HAVE_SIGTRAMP_32 "__kernel_sigtramp32"
|
||||
# define HAVE_SIGTRAMP_RT32 "__kernel_sigtramp_rt32"
|
||||
#endif
|
||||
|
||||
#endif /* _LINUX_POWERPC_SYSDEP_H */
|
||||
|
Reference in New Issue
Block a user