]>
Commit | Line | Data |
---|---|---|
90fcd23e JR |
1 | From f77a1a156f3da9068d012d9227c7ee0fee58f571 Mon Sep 17 00:00:00 2001 |
2 | From: David Holmes <dholmes@openjdk.org> | |
3 | Date: Sun, 22 Aug 2021 01:13:27 +0000 | |
4 | Subject: [PATCH] 8272472: StackGuardPages test doesn't build with glibc 2.34 | |
5 | ||
6 | Reviewed-by: shade, stuefe, jiefu | |
7 | --- | |
8 | .../jtreg/runtime/StackGuardPages/exeinvoke.c | 13 +++++++++++-- | |
9 | 1 file changed, 11 insertions(+), 2 deletions(-) | |
10 | ||
11 | diff --git a/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c b/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c | |
12 | index a46f1cef44c..50a37001fbf 100644 | |
13 | --- a/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c | |
14 | +++ b/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c | |
15 | @@ -1,5 +1,5 @@ | |
16 | /* | |
17 | - * Copyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved. | |
18 | + * Copyright (c) 2010, 2021, Oracle and/or its affiliates. All rights reserved. | |
19 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
20 | * | |
21 | * This code is free software; you can redistribute it and/or modify it | |
22 | @@ -68,8 +68,17 @@ static void handler(int sig, siginfo_t *si, void *unused) { | |
23 | longjmp(context, 1); | |
24 | } | |
25 | ||
26 | +static char* altstack = NULL; | |
27 | + | |
28 | void set_signal_handler() { | |
29 | - static char altstack[SIGSTKSZ]; | |
30 | + if (altstack == NULL) { | |
31 | + // Dynamically allocated in case SIGSTKSZ is not constant | |
32 | + altstack = malloc(SIGSTKSZ); | |
33 | + if (altstack == NULL) { | |
34 | + fprintf(stderr, "Test ERROR. Unable to malloc altstack space\n"); | |
35 | + exit(7); | |
36 | + } | |
37 | + } | |
38 | ||
39 | stack_t ss = { | |
40 | .ss_size = SIGSTKSZ, |