1
0
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:
Adhemerval Zanella
2021-02-12 19:20:27 +03:00
parent 2c6cabb3a4
commit 82fd7314c7
5 changed files with 0 additions and 277 deletions

View File

@ -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

View File

@ -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

View File

@ -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 */