From 490921d3c85291893f3cb57fb32108917487c7bb3b990501320d5b4808f7f470 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 27 May 2013 07:49:31 +0000 Subject: [PATCH] Accepting request 176169 from Base:System - aarch64-sigsetjmp.patch: Fix sigsetjmp on aarch64 (forwarded request 176168 from Andreas_Schwab) OBS-URL: https://build.opensuse.org/request/show/176169 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/glibc?expand=0&rev=145 --- aarch64-sigsetjmp.patch | 38 ++++++++++++++++++++++++++++++++++++++ glibc-testsuite.changes | 10 ++++++++++ glibc-testsuite.spec | 18 +++++++++++------- glibc-utils.changes | 10 ++++++++++ glibc-utils.spec | 18 +++++++++++------- glibc.changes | 10 ++++++++++ glibc.spec | 18 +++++++++++------- 7 files changed, 101 insertions(+), 21 deletions(-) create mode 100644 aarch64-sigsetjmp.patch diff --git a/aarch64-sigsetjmp.patch b/aarch64-sigsetjmp.patch new file mode 100644 index 0000000..28bc1bd --- /dev/null +++ b/aarch64-sigsetjmp.patch @@ -0,0 +1,38 @@ +From c272f67f9fc4c354336241ef4f3876771ccab443 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Mon, 20 May 2013 10:19:31 +0200 +Subject: [PATCH] AArch64: Don't clobber argument for tail call to + __sigjmp_save in sigsetjmp + + [BZ #15493] + * sysdeps/aarch64/setjmp.S (__sigsetjmp): Don't clobber register + x1. + [NOT_IN_libc && IS_IN_rtld]: Don't call __sigjmp_save. +--- + ports/sysdeps/aarch64/setjmp.S | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/ports/sysdeps/aarch64/setjmp.S b/ports/sysdeps/aarch64/setjmp.S +index cff81c7..10e0709 100644 +--- a/ports/sysdeps/aarch64/setjmp.S ++++ b/ports/sysdeps/aarch64/setjmp.S +@@ -44,8 +44,14 @@ ENTRY (__sigsetjmp) + stp d10, d11, [x0, #JB_D10<<3] + stp d12, d13, [x0, #JB_D12<<3] + stp d14, d15, [x0, #JB_D14<<3] +- mov x1, sp +- str x1, [x0, #JB_SP<<3] ++ mov x2, sp ++ str x2, [x0, #JB_SP<<3] ++#if defined NOT_IN_libc && defined IS_IN_rtld ++ /* In ld.so we never save the signal mask */ ++ mov w0, #0 ++ RET ++#else + b C_SYMBOL_NAME(__sigjmp_save) ++#endif + END (__sigsetjmp) + hidden_def (__sigsetjmp) +-- +1.8.2.3 + diff --git a/glibc-testsuite.changes b/glibc-testsuite.changes index 682a968..25e82b7 100644 --- a/glibc-testsuite.changes +++ b/glibc-testsuite.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon May 20 08:26:35 UTC 2013 - schwab@suse.de + +- aarch64-sigsetjmp.patch: Fix sigsetjmp on aarch64 + +------------------------------------------------------------------- +Sat May 18 09:34:41 UTC 2013 - schwab@suse.de + +- Fix file list for glibc-utils + ------------------------------------------------------------------- Thu May 16 12:02:14 UTC 2013 - schwab@suse.de diff --git a/glibc-testsuite.spec b/glibc-testsuite.spec index c34c8fe..f85f635 100644 --- a/glibc-testsuite.spec +++ b/glibc-testsuite.spec @@ -261,20 +261,22 @@ Patch1005: getaddrinfo-overflow.patch ### # Patches awaiting upstream approval ### -# PATCH-FIX-OPENSUSE Fix LD_PROFILE (glibc bug#13818) - aj@suse.de +# PATCH-FIX-UPSTREAM Fix LD_PROFILE (glibc bug#13818) - aj@suse.de Patch2008: glibc-ld-profile.patch -# PATCH-FIX-OPENSUSE Properly check for short writes when sending the response in nscd +# PATCH-FIX-UPSTREAM Properly check for short writes when sending the response in nscd Patch2010: nscd-short-write.patch -# PATCH-FIX-OPENSUSE Update BIG5-HKSCS charmap to HKSCS-2008 +# PATCH-FIX-UPSTREAM Update BIG5-HKSCS charmap to HKSCS-2008 Patch2011: big5-hkscs-update.patch.bz2 -# PATCH-FIX-OPENSUSE Fix parsing of numeric hosts in gethostbyname_r +# PATCH-FIX-UPSTREAM Fix parsing of numeric hosts in gethostbyname_r Patch2012: digits-dots.patch -# PATCH-FIX-OPENSUSE Properly cache the result from looking up the nss database config +# PATCH-FIX-UPSTREAM Properly cache the result from looking up the nss database config Patch2013: nss-database.patch -# PATCH-FIX-OPENSUSE Properly handle %W in strptime +# PATCH-FIX-UPSTREAM Properly handle %W in strptime Patch2014: strptime-W-week.patch -# PATCH-FIX-OPENSUSE Revert problematic fixes for [BZ #11741] +# PATCH-FIX-UPSTREAM Revert problematic fixes for [BZ #11741] Patch2015: printf-overrun.patch +# PATCH-FIX-UPSTREAM AArch64: Don't clobber argument for tail call to __sigjmp_save in sigsetjmp +Patch2016: aarch64-sigsetjmp.patch # Non-glibc patches # PATCH-FIX-OPENSUSE Remove debianisms from manpages @@ -496,6 +498,7 @@ rm nscd/s-stamp %patch2013 -p1 %patch2014 -p1 %patch2015 -p1 +%patch2016 -p1 %patch3000 @@ -969,6 +972,7 @@ make %{?_smp_mflags} install_root=%{buildroot} install -C cc-base \ cd manpages; make install_root=%{buildroot} install; cd .. # Remove unwanted files rm -f %{buildroot}/%{_lib}/ld*.so* %{buildroot}/%{_lib}/lib[!mp]* +rm -f %{buildroot}/lib/ld*.so* rm -f %{buildroot}%{_libdir}/lib* rm -f %{buildroot}%{_bindir}/{catchsegv,ldd*,sprof} rm -f %{buildroot}%{_mandir}/man1/[!m]* diff --git a/glibc-utils.changes b/glibc-utils.changes index 682a968..25e82b7 100644 --- a/glibc-utils.changes +++ b/glibc-utils.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon May 20 08:26:35 UTC 2013 - schwab@suse.de + +- aarch64-sigsetjmp.patch: Fix sigsetjmp on aarch64 + +------------------------------------------------------------------- +Sat May 18 09:34:41 UTC 2013 - schwab@suse.de + +- Fix file list for glibc-utils + ------------------------------------------------------------------- Thu May 16 12:02:14 UTC 2013 - schwab@suse.de diff --git a/glibc-utils.spec b/glibc-utils.spec index 57f475c..e58e9e7 100644 --- a/glibc-utils.spec +++ b/glibc-utils.spec @@ -260,20 +260,22 @@ Patch1005: getaddrinfo-overflow.patch ### # Patches awaiting upstream approval ### -# PATCH-FIX-OPENSUSE Fix LD_PROFILE (glibc bug#13818) - aj@suse.de +# PATCH-FIX-UPSTREAM Fix LD_PROFILE (glibc bug#13818) - aj@suse.de Patch2008: glibc-ld-profile.patch -# PATCH-FIX-OPENSUSE Properly check for short writes when sending the response in nscd +# PATCH-FIX-UPSTREAM Properly check for short writes when sending the response in nscd Patch2010: nscd-short-write.patch -# PATCH-FIX-OPENSUSE Update BIG5-HKSCS charmap to HKSCS-2008 +# PATCH-FIX-UPSTREAM Update BIG5-HKSCS charmap to HKSCS-2008 Patch2011: big5-hkscs-update.patch.bz2 -# PATCH-FIX-OPENSUSE Fix parsing of numeric hosts in gethostbyname_r +# PATCH-FIX-UPSTREAM Fix parsing of numeric hosts in gethostbyname_r Patch2012: digits-dots.patch -# PATCH-FIX-OPENSUSE Properly cache the result from looking up the nss database config +# PATCH-FIX-UPSTREAM Properly cache the result from looking up the nss database config Patch2013: nss-database.patch -# PATCH-FIX-OPENSUSE Properly handle %W in strptime +# PATCH-FIX-UPSTREAM Properly handle %W in strptime Patch2014: strptime-W-week.patch -# PATCH-FIX-OPENSUSE Revert problematic fixes for [BZ #11741] +# PATCH-FIX-UPSTREAM Revert problematic fixes for [BZ #11741] Patch2015: printf-overrun.patch +# PATCH-FIX-UPSTREAM AArch64: Don't clobber argument for tail call to __sigjmp_save in sigsetjmp +Patch2016: aarch64-sigsetjmp.patch # Non-glibc patches # PATCH-FIX-OPENSUSE Remove debianisms from manpages @@ -496,6 +498,7 @@ rm nscd/s-stamp %patch2013 -p1 %patch2014 -p1 %patch2015 -p1 +%patch2016 -p1 %patch3000 @@ -969,6 +972,7 @@ make %{?_smp_mflags} install_root=%{buildroot} install -C cc-base \ cd manpages; make install_root=%{buildroot} install; cd .. # Remove unwanted files rm -f %{buildroot}/%{_lib}/ld*.so* %{buildroot}/%{_lib}/lib[!mp]* +rm -f %{buildroot}/lib/ld*.so* rm -f %{buildroot}%{_libdir}/lib* rm -f %{buildroot}%{_bindir}/{catchsegv,ldd*,sprof} rm -f %{buildroot}%{_mandir}/man1/[!m]* diff --git a/glibc.changes b/glibc.changes index 682a968..25e82b7 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon May 20 08:26:35 UTC 2013 - schwab@suse.de + +- aarch64-sigsetjmp.patch: Fix sigsetjmp on aarch64 + +------------------------------------------------------------------- +Sat May 18 09:34:41 UTC 2013 - schwab@suse.de + +- Fix file list for glibc-utils + ------------------------------------------------------------------- Thu May 16 12:02:14 UTC 2013 - schwab@suse.de diff --git a/glibc.spec b/glibc.spec index 6de652b..5f22ac3 100644 --- a/glibc.spec +++ b/glibc.spec @@ -261,20 +261,22 @@ Patch1005: getaddrinfo-overflow.patch ### # Patches awaiting upstream approval ### -# PATCH-FIX-OPENSUSE Fix LD_PROFILE (glibc bug#13818) - aj@suse.de +# PATCH-FIX-UPSTREAM Fix LD_PROFILE (glibc bug#13818) - aj@suse.de Patch2008: glibc-ld-profile.patch -# PATCH-FIX-OPENSUSE Properly check for short writes when sending the response in nscd +# PATCH-FIX-UPSTREAM Properly check for short writes when sending the response in nscd Patch2010: nscd-short-write.patch -# PATCH-FIX-OPENSUSE Update BIG5-HKSCS charmap to HKSCS-2008 +# PATCH-FIX-UPSTREAM Update BIG5-HKSCS charmap to HKSCS-2008 Patch2011: big5-hkscs-update.patch.bz2 -# PATCH-FIX-OPENSUSE Fix parsing of numeric hosts in gethostbyname_r +# PATCH-FIX-UPSTREAM Fix parsing of numeric hosts in gethostbyname_r Patch2012: digits-dots.patch -# PATCH-FIX-OPENSUSE Properly cache the result from looking up the nss database config +# PATCH-FIX-UPSTREAM Properly cache the result from looking up the nss database config Patch2013: nss-database.patch -# PATCH-FIX-OPENSUSE Properly handle %W in strptime +# PATCH-FIX-UPSTREAM Properly handle %W in strptime Patch2014: strptime-W-week.patch -# PATCH-FIX-OPENSUSE Revert problematic fixes for [BZ #11741] +# PATCH-FIX-UPSTREAM Revert problematic fixes for [BZ #11741] Patch2015: printf-overrun.patch +# PATCH-FIX-UPSTREAM AArch64: Don't clobber argument for tail call to __sigjmp_save in sigsetjmp +Patch2016: aarch64-sigsetjmp.patch # Non-glibc patches # PATCH-FIX-OPENSUSE Remove debianisms from manpages @@ -496,6 +498,7 @@ rm nscd/s-stamp %patch2013 -p1 %patch2014 -p1 %patch2015 -p1 +%patch2016 -p1 %patch3000 @@ -969,6 +972,7 @@ make %{?_smp_mflags} install_root=%{buildroot} install -C cc-base \ cd manpages; make install_root=%{buildroot} install; cd .. # Remove unwanted files rm -f %{buildroot}/%{_lib}/ld*.so* %{buildroot}/%{_lib}/lib[!mp]* +rm -f %{buildroot}/lib/ld*.so* rm -f %{buildroot}%{_libdir}/lib* rm -f %{buildroot}%{_bindir}/{catchsegv,ldd*,sprof} rm -f %{buildroot}%{_mandir}/man1/[!m]*