gnu: OpenJDK@10: Fix build with newer toolchains.
* gnu/packages/java.scm (openjdk10)[source](patches): Add two patches. [source](snippet): While here, simplify. * gnu/packages/patches/openjdk-10-hotspot-pointer-comparison.patch, gnu/packages/patches/openjdk-10-hotspot-stack-size.patch: New files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly.master
parent
389b5b5359
commit
c463d7ac91
|
@ -1566,6 +1566,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/openjdk-9-hotspot-pointer-comparison.patch \
|
||||
%D%/packages/patches/openjdk-9-hotspot-stack-size.patch \
|
||||
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
|
||||
%D%/packages/patches/openjdk-10-hotspot-pointer-comparison.patch \
|
||||
%D%/packages/patches/openjdk-10-hotspot-stack-size.patch \
|
||||
%D%/packages/patches/openjdk-15-xcursor-no-dynamic.patch \
|
||||
%D%/packages/patches/openmpi-mtl-priorities.patch \
|
||||
%D%/packages/patches/openssh-hurd.patch \
|
||||
|
|
|
@ -1729,12 +1729,12 @@ new Date();"))
|
|||
(base32
|
||||
"0zywq2203b4hx4jms9vbwvjcj1d3k2v3qpx4s33729fkpmid97r4"))
|
||||
(patches (search-patches
|
||||
"openjdk-10-idlj-reproducibility.patch"))
|
||||
"openjdk-10-idlj-reproducibility.patch"
|
||||
"openjdk-10-hotspot-pointer-comparison.patch"
|
||||
"openjdk-10-hotspot-stack-size.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
(for-each delete-file (find-files "." ".*.(bin|exe|jar)$"))
|
||||
#t))))
|
||||
'(for-each delete-file (find-files "." "\\.(bin|exe|jar)$")))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments openjdk9)
|
||||
((#:phases phases)
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
Avoid ordered comparison of pointer with integer to prevent compile error
|
||||
with GCC 11.
|
||||
|
||||
diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp
|
||||
--- a/src/hotspot/os/linux/os_linux.cpp
|
||||
+++ b/src/hotspot/os/linux/os_linux.cpp
|
||||
@@ -2155,7 +2155,7 @@ void os::Linux::print_container_info(outputStream* st) {
|
||||
}
|
||||
|
||||
p = OSContainer::cpu_cpuset_memory_nodes();
|
||||
- if (p < 0)
|
||||
+ if (p == NULL)
|
||||
st->print("cpu_memory_nodes() failed\n");
|
||||
else {
|
||||
st->print("cpu_memory_nodes: %s\n", p);
|
|
@ -0,0 +1,28 @@
|
|||
Dynamically allocate the stack since SIGSTKSZ is not constant since glibc 2.34.
|
||||
|
||||
Backported from:
|
||||
|
||||
https://github.com/openjdk/jdk17u/commit/bb7c412e259893091210267252faf3c0a1be0969
|
||||
|
||||
diff --git a/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c b/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c
|
||||
--- a/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c
|
||||
+++ b/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c
|
||||
@@ -67,8 +67,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,
|
Reference in New Issue