File gcc7-ada-MINSTKSZ.patch of Package cross-sparc64-gcc7.21370

From 331763de7d4850702a0f67298f36017c73cdb103 Mon Sep 17 00:00:00 2001
From: Eric Botcazou <ebotcazou@adacore.com>
Date: Fri, 5 Mar 2021 12:45:41 +0100
Subject: [PATCH] Fix build breakage with latest glibc release
To: gcc-patches@gcc.gnu.org

gcc/ada/
	PR ada/99264
	* init.c (__gnat_alternate_sta) [Linux]: Remove preprocessor test on
	MINSIGSTKSZ and bump size to 32KB.
	* libgnarl/s-osinte__linux.ads (Alternate_Stack_Size): Bump to 32KB.
---
 gcc/ada/init.c                       | 8 ++------
 gcc/ada/libgnarl/s-osinte__linux.ads | 2 +-
 2 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/gcc/ada/init.c b/gcc/ada/init.c
index e76aa79c5a8..3ceb1a31b02 100644
--- a/gcc/ada/init.c
+++ b/gcc/ada/init.c
@@ -579,12 +579,8 @@ __gnat_error_handler (int sig, siginfo_t *si ATTRIBUTE_UNUSED, void *ucontext)
 
 #ifndef __ia64__
 #define HAVE_GNAT_ALTERNATE_STACK 1
-/* This must be in keeping with System.OS_Interface.Alternate_Stack_Size.
-   It must be larger than MINSIGSTKSZ and hopefully near 2 * SIGSTKSZ.  */
-# if 16 * 1024 < MINSIGSTKSZ
-#  error "__gnat_alternate_stack too small"
-# endif
-char __gnat_alternate_stack[16 * 1024];
+/* This must be in keeping with System.OS_Interface.Alternate_Stack_Size.  */
+char __gnat_alternate_stack[32 * 1024];
 #endif
 
 #ifdef __XENO__

diff --git a/gcc/ada/s-osinte-linux.ads b/gcc/ada/s-osinte-linux.ads
index b0ba2296398..9e408a5b2ab 100644
--- a/gcc/ada/s-osinte-linux.ads
+++ b/gcc/ada/s-osinte-linux.ads
@@ -325,7 +325,7 @@ package System.OS_Interface is
    pragma Import (C, Alternate_Stack, "__gnat_alternate_stack");
    --  The alternate signal stack for stack overflows
 
-   Alternate_Stack_Size : constant := 16 * 1024;
+   Alternate_Stack_Size : constant := 32 * 1024;
    --  This must be in keeping with init.c:__gnat_alternate_stack
 
    function Get_Stack_Base (thread : pthread_t) return Address;
-- 
2.31.1
openSUSE Build Service is sponsored by