diff --git a/glibc-rh2027789.patch b/glibc-rh2027789.patch new file mode 100644 index 0000000..798d496 --- /dev/null +++ b/glibc-rh2027789.patch @@ -0,0 +1,23 @@ +Downstream-only patch from Mark Wielaard to avoid a +crash in backtrace if the vDSO is not available. + +Upstream, this code was removed in commit 82fd7314c7df8c5555dce02 +("powerpc: Remove backtrace implementation"), so patch is not needed +there. + +diff --git a/sysdeps/powerpc/powerpc64/backtrace.c b/sysdeps/powerpc/powerpc64/backtrace.c +index 37de9b5bdd73c316..0ffa7509dfa4862a 100644 +--- a/sysdeps/powerpc/powerpc64/backtrace.c ++++ b/sysdeps/powerpc/powerpc64/backtrace.c +@@ -68,8 +68,9 @@ static inline bool + is_sigtramp_address (void *nip) + { + #ifdef HAVE_SIGTRAMP_RT64 +- if (nip == GLRO (dl_vdso_sigtramp_rt64) || +- nip == GLRO (dl_vdso_sigtramp_rt64) + 4) ++ if ((nip == GLRO (dl_vdso_sigtramp_rt64) || ++ nip == GLRO (dl_vdso_sigtramp_rt64) + 4) ++ && nip != NULL) + return true; + #endif + return false; diff --git a/glibc.spec b/glibc.spec index 8d8b27b..cbf26de 100644 --- a/glibc.spec +++ b/glibc.spec @@ -151,7 +151,7 @@ end \ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 10%{?dist} +Release: 11%{?dist} # In general, GPLv2+ is used by programs, LGPLv2+ is used for # libraries. @@ -280,6 +280,7 @@ Patch77: glibc-upstream-2.34-46.patch Patch78: glibc-upstream-2.34-47.patch Patch79: glibc-upstream-2.34-48.patch Patch80: glibc-upstream-2.34-49.patch +Patch81: glibc-rh2027789.patch ############################################################################## # Continued list of core "glibc" package information: @@ -2311,6 +2312,9 @@ fi %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared %changelog +* Tue Dec 7 2021 Florian Weimer - 2.34-11 +- backtrace function crashes without vDSO on ppc64le (#2027789) + * Fri Dec 3 2021 Florian Weimer - 2.34-10 - Sync with upstream branch release/2.34/master, commit 387bff63dc2dccd62b09aa26dccf8cdc5f3c985c: