void-packages/srcpkgs/openjdk12-bootstrap/patches/test-glibc2.34.patch

34 lines
1.2 KiB
Diff
Raw Normal View History

From f77a1a156f3da9068d012d9227c7ee0fee58f571 Mon Sep 17 00:00:00 2001
From: David Holmes <dholmes@openjdk.org>
Date: Sun, 22 Aug 2021 01:13:27 +0000
Subject: [PATCH] 8272472: StackGuardPages test doesn't build with glibc 2.34
Reviewed-by: shade, stuefe, jiefu
---
.../jtreg/runtime/StackGuardPages/exeinvoke.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c b/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c
index a46f1cef44c78..50a37001fbf33 100644
--- a/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c
+++ b/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c
@@ -68,8 +68,17 @@ static void handler(int sig, siginfo_t *si, void *unused) {
longjmp(context, 1);
}
+static char* altstack = NULL;
+
void set_signal_handler() {
- static char altstack[SIGSTKSZ];
+ if (altstack == NULL) {
+ // Dynamically allocated in case SIGSTKSZ is not constant
+ altstack = malloc(SIGSTKSZ);
+ if (altstack == NULL) {
+ fprintf(stderr, "Test ERROR. Unable to malloc altstack space\n");
+ exit(7);
+ }
+ }
stack_t ss = {
.ss_size = SIGSTKSZ,