Resolves: #1975121, Handle SIGSTKSZ no longer being a constant

This commit is contained in:
Than Ngo 2021-06-23 13:07:05 +02:00
parent 2ff9e523f1
commit e3cffa7203
2 changed files with 30 additions and 1 deletions

25
diffutils-sigstksz.patch Normal file
View File

@ -0,0 +1,25 @@
diff -up diffutils-3.7/lib/c-stack.c.sigstksz diffutils-3.7/lib/c-stack.c
--- diffutils-3.7/lib/c-stack.c.sigstksz 2021-04-12 10:58:48.892279388 +0100
+++ diffutils-3.7/lib/c-stack.c 2021-04-12 11:04:59.488695551 +0100
@@ -52,12 +52,18 @@ typedef struct sigaltstack stack_t;
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
-#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
+#elif HAVE_LIBSIGSEGV
/* libsigsegv 2.6 through 2.8 have a bug where some architectures use
more than the Linux default of an 8k alternate stack when deciding
if a fault was caused by stack overflow. */
-# undef SIGSTKSZ
-# define SIGSTKSZ 16384
+# if defined _SC_SIGSTKSZ && _SC_SIGSTKSZ < 16384
+ /* glibc 2.34 defines SIGSTKSZ to sysconf (_SC_SIGSTKSZ) */
+# undef SIGSTKSZ
+# define SIGSTKSZ 16384
+# elif SIGSTKSZ < 16384
+# undef SIGSTKSZ
+# define SIGSTKSZ 16384
+# endif
#endif
#include <stdlib.h>

View File

@ -1,7 +1,7 @@
Summary: GNU collection of diff utilities Summary: GNU collection of diff utilities
Name: diffutils Name: diffutils
Version: 3.7 Version: 3.7
Release: 10%{?dist} Release: 11%{?dist}
URL: https://www.gnu.org/software/diffutils/diffutils.html URL: https://www.gnu.org/software/diffutils/diffutils.html
Source: https://ftp.gnu.org/gnu/diffutils/diffutils-%{version}.tar.xz Source: https://ftp.gnu.org/gnu/diffutils/diffutils-%{version}.tar.xz
Patch1: diffutils-cmp-s-empty.patch Patch1: diffutils-cmp-s-empty.patch
@ -9,6 +9,7 @@ Patch2: diffutils-i18n.patch
Patch3: diffutils-fix-gnulib-tests.patch Patch3: diffutils-fix-gnulib-tests.patch
Patch4: diffutils-3.7-coverity.patch Patch4: diffutils-3.7-coverity.patch
Patch5: diffutils-3.7-false-positive.patch Patch5: diffutils-3.7-false-positive.patch
Patch6: diffutils-sigstksz.patch
License: GPLv3+ License: GPLv3+
Provides: bundled(gnulib) Provides: bundled(gnulib)
BuildRequires: gcc BuildRequires: gcc
@ -59,6 +60,9 @@ make check
%{_infodir}/diffutils.info* %{_infodir}/diffutils.info*
%changelog %changelog
* Wed Jun 23 2021 Than Ngo <than@redhat.com> - 3.7-11
- Resolves: #1975121, Handle SIGSTKSZ no longer being a constant.
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 3.7-10 * Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 3.7-10
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937