diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-02-12 19:20:27 +0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-10-20 10:40:53 -0300 |
commit | 82fd7314c7df8c5555dce027df6f2c98ca5a927f (patch) | |
tree | 2d16a8c07c1fc6d03405c79a695075c4432ece87 /sysdeps/unix | |
parent | 2c6cabb3a442f467e78c702cffbd5f003f87f44f (diff) | |
download | glibc-82fd7314c7df8c5555dce027df6f2c98ca5a927f.tar.gz glibc-82fd7314c7df8c5555dce027df6f2c98ca5a927f.tar.xz glibc-82fd7314c7df8c5555dce027df6f2c98ca5a927f.zip |
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
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/dl-vdso-setup.c | 11 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/dl-vdso-setup.h | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/sysdep.h | 7 |
3 files changed, 0 insertions, 27 deletions
diff --git a/sysdeps/unix/sysv/linux/dl-vdso-setup.c b/sysdeps/unix/sysv/linux/dl-vdso-setup.c index 037a2774b6..b42b9dfe32 100644 --- a/sysdeps/unix/sysv/linux/dl-vdso-setup.c +++ b/sysdeps/unix/sysv/linux/dl-vdso-setup.c @@ -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 diff --git a/sysdeps/unix/sysv/linux/dl-vdso-setup.h b/sysdeps/unix/sysv/linux/dl-vdso-setup.h index daf9873c4e..75b00a0046 100644 --- a/sysdeps/unix/sysv/linux/dl-vdso-setup.h +++ b/sysdeps/unix/sysv/linux/dl-vdso-setup.h @@ -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 diff --git a/sysdeps/unix/sysv/linux/powerpc/sysdep.h b/sysdeps/unix/sysv/linux/powerpc/sysdep.h index 4b9d43c636..ff9644d209 100644 --- a/sysdeps/unix/sysv/linux/powerpc/sysdep.h +++ b/sysdeps/unix/sysv/linux/powerpc/sysdep.h @@ -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 */ |