Luming Wang has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/53183 )

Change subject: sim: fix build error when glibc >= 2.34
......................................................................

sim: fix build error when glibc >= 2.34

Since glibc >= 2.34, MINSIGSTKSZ and SIGSTKSZ are no longer
constant on Linux. As a result, the definition
"fatalSigStack[2*SIGSTKSZ]" fails to be compiled.
Thus, we need to dynamically allocate it.

Change-Id: Ibccc367818483b9c94beda871d1d95367d1e8b04
---
M src/sim/init_signals.cc
1 file changed, 22 insertions(+), 2 deletions(-)



diff --git a/src/sim/init_signals.cc b/src/sim/init_signals.cc
index cac0190..6f1490b 100644
--- a/src/sim/init_signals.cc
+++ b/src/sim/init_signals.cc
@@ -64,18 +64,24 @@
 {

 // Use an separate stack for fatal signal handlers
-static uint8_t fatalSigStack[2 * SIGSTKSZ];
+#define STKSZ (2 * SIGSTKSZ)
+static uint8_t *fatalSigStack;

 static bool
 setupAltStack()
 {
+    static bool isFirstTime = true;
+    if (isFirstTime) {
+        fatalSigStack = new uint8_t[STKSZ];
+        isFirstTime = false;
+    }
     stack_t stack;
 #if defined(__FreeBSD__) && (__FreeBSD_version < 1100097)
     stack.ss_sp = (char *)fatalSigStack;
 #else
     stack.ss_sp = fatalSigStack;
 #endif
-    stack.ss_size = sizeof(fatalSigStack);
+    stack.ss_size = STKSZ;
     stack.ss_flags = 0;

     return sigaltstack(&stack, NULL) == 0;

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/53183
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Ibccc367818483b9c94beda871d1d95367d1e8b04
Gerrit-Change-Number: 53183
Gerrit-PatchSet: 1
Gerrit-Owner: Luming Wang <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to