From 1918033d3f9cd77644e06690014273869695c3a6 Mon Sep 17 00:00:00 2001 From: Ulrich Müller Date: Sat, 24 Jul 2021 20:53:15 +0200 Subject: Fix compilation with glibc-2.34 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: https://bugs.gentoo.org/803644 Signed-off-by: Ulrich Müller --- emacs/25.3/03_all_glibc-2.34.patch | 20 ++++++++++++++++++++ emacs/26.3/01_all_glibc-2.34.patch | 20 ++++++++++++++++++++ emacs/27.2/02_all_glibc-2.34.patch | 20 ++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 emacs/25.3/03_all_glibc-2.34.patch create mode 100644 emacs/26.3/01_all_glibc-2.34.patch create mode 100644 emacs/27.2/02_all_glibc-2.34.patch diff --git a/emacs/25.3/03_all_glibc-2.34.patch b/emacs/25.3/03_all_glibc-2.34.patch new file mode 100644 index 0000000..1ecad71 --- /dev/null +++ b/emacs/25.3/03_all_glibc-2.34.patch @@ -0,0 +1,20 @@ +Fix compilation with glibc-2.34 +https://bugs.gentoo.org/803644 + +In glibc-2.34, definition of SIGSTKSZ has changed from a fixed value +to sysconf(_SC_SIGSTKSZ), which cannot be used in the definition of a +static array. In 2.33, the default SIGSTKSZ was 8192, but apparently +some arches (e.g. aarch64 and sparc) used 16384. Hardcode the larger +of these values. + +--- emacs-25.3/src/sysdep.c ++++ emacs-25.3/src/sysdep.c +@@ -1624,7 +1624,7 @@ + + /* Alternate stack used by SIGSEGV handler below. */ + +-static unsigned char sigsegv_stack[SIGSTKSZ]; ++static unsigned char sigsegv_stack[16384]; + + + /* Return true if SIGINFO indicates a stack overflow. */ diff --git a/emacs/26.3/01_all_glibc-2.34.patch b/emacs/26.3/01_all_glibc-2.34.patch new file mode 100644 index 0000000..fe7ec8b --- /dev/null +++ b/emacs/26.3/01_all_glibc-2.34.patch @@ -0,0 +1,20 @@ +Fix compilation with glibc-2.34 +https://bugs.gentoo.org/803644 + +In glibc-2.34, definition of SIGSTKSZ has changed from a fixed value +to sysconf(_SC_SIGSTKSZ), which cannot be used in the definition of a +static array. In 2.33, the default SIGSTKSZ was 8192, but apparently +some arches (e.g. aarch64 and sparc) used 16384. Hardcode the larger +of these values. + +--- emacs-26.3/src/sysdep.c ++++ emacs-26.3/src/sysdep.c +@@ -1792,7 +1792,7 @@ + + /* Alternate stack used by SIGSEGV handler below. */ + +-static unsigned char sigsegv_stack[SIGSTKSZ]; ++static unsigned char sigsegv_stack[16384]; + + + /* Return true if SIGINFO indicates a stack overflow. */ diff --git a/emacs/27.2/02_all_glibc-2.34.patch b/emacs/27.2/02_all_glibc-2.34.patch new file mode 100644 index 0000000..793503d --- /dev/null +++ b/emacs/27.2/02_all_glibc-2.34.patch @@ -0,0 +1,20 @@ +Fix compilation with glibc-2.34 +https://bugs.gentoo.org/803644 + +In glibc-2.34, definition of SIGSTKSZ has changed from a fixed value +to sysconf(_SC_SIGSTKSZ), which cannot be used in the definition of a +static array. In 2.33, the default SIGSTKSZ was 8192, but apparently +some arches (e.g. aarch64 and sparc) used 16384. Hardcode the larger +of these values. + +--- emacs-27.2/src/sysdep.c ++++ emacs-27.2/src/sysdep.c +@@ -1818,7 +1818,7 @@ + + /* Alternate stack used by SIGSEGV handler below. */ + +-static unsigned char sigsegv_stack[SIGSTKSZ]; ++static unsigned char sigsegv_stack[16384]; + + + /* Return true if SIGINFO indicates a stack overflow. */ -- cgit v1.2.3-65-gdbad