Skip to content

Commit

Permalink
java/openjdk14: fix build with clang 12
Browse files Browse the repository at this point in the history
During an exp-run for llvm 12 (see bug 255570), it turned out that at
least openjdk11 and openjdk12 do not build with clang 12.0.0. The
exp-run therefore skipped openjdk14.

Building this manually shows that it results in a compile error:

gmake[4]: Leaving directory '/wrkdirs/usr/ports/java/openjdk14/work/jdk14u-jdk-14.0.2-12-1/make'
/wrkdirs/usr/ports/java/openjdk14/work/jdk14u-jdk-14.0.2-12-1/src/hotspot/cpu/x86/vm_version_ext_x86.cpp:748:3: error: suspicious concatenation of string literals in an array initialization; did you mean to separate the elements with a comma? [-Werror,-Wstring-concatenation]
  "",
  ^
/wrkdirs/usr/ports/java/openjdk14/work/jdk14u-jdk-14.0.2-12-1/src/hotspot/cpu/x86/vm_version_ext_x86.cpp:747:3: note: place parentheses around the string literal to silence warning
  "Opteron QC/Phenom"  // Barcelona et.al.
  ^
1 error generated.

This is due to a missing backport of this upstream commit:

commit f8a9602a0a65cdc98eb940aac9529256ded2bf42
Author: Yasumasa Suenaga <ysuenaga@openjdk.org>
Date:   Thu Jan 21 06:08:13 2021 +0000

    8260025: Missing comma in VM_Version_Ext::_family_id_amd

    Reviewed-by: dholmes, stuefe

Even after applying this fix, there is still a possibility of a segfault
during the build, due to another missing backport, of this upstream
commit:

commit c484d8904285652246c3af212a4211b9a8955149
Author: Thomas Stuefe <stuefe@openjdk.org>
Date:   Tue Mar 16 05:49:01 2021 +0000

    8263557: Possible NULL dereference in Arena::destruct_contents()

    Reviewed-by: kbarrett, coleenp

Approved by:    maintainer timeout (2 weeks)
PR:             255903
MFH:            2021Q2
  • Loading branch information
DimitryAndric committed May 29, 2021
1 parent 983b41a commit fa94e1b
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 0 deletions.
23 changes: 23 additions & 0 deletions java/openjdk14/files/patch-commit-c484d890428
@@ -0,0 +1,23 @@
commit c484d8904285652246c3af212a4211b9a8955149
Author: Thomas Stuefe <stuefe@openjdk.org>
Date: Tue Mar 16 05:49:01 2021 +0000

8263557: Possible NULL dereference in Arena::destruct_contents()

Reviewed-by: kbarrett, coleenp

diff --git src/hotspot/share/memory/arena.cpp src/hotspot/share/memory/arena.cpp
index 8388f68c359..16059bed9be 100644
--- src/hotspot/share/memory/arena.cpp
+++ src/hotspot/share/memory/arena.cpp
@@ -310,7 +310,9 @@ void Arena::destruct_contents() {
// reset size before chop to avoid a rare racing condition
// that can have total arena memory exceed total chunk memory
set_size_in_bytes(0);
- _first->chop();
+ if (_first != NULL) {
+ _first->chop();
+ }
reset();
}

28 changes: 28 additions & 0 deletions java/openjdk14/files/patch-commit-f8a9602a0a6
@@ -0,0 +1,28 @@
commit f8a9602a0a65cdc98eb940aac9529256ded2bf42
Author: Yasumasa Suenaga <ysuenaga@openjdk.org>
Date: Thu Jan 21 06:08:13 2021 +0000

8260025: Missing comma in VM_Version_Ext::_family_id_amd

Reviewed-by: dholmes, stuefe

diff --git src/hotspot/cpu/x86/vm_version_ext_x86.cpp src/hotspot/cpu/x86/vm_version_ext_x86.cpp
index 30d9494c654..a84b37f7977 100644
--- src/hotspot/cpu/x86/vm_version_ext_x86.cpp
+++ src/hotspot/cpu/x86/vm_version_ext_x86.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -739,7 +739,7 @@ const char* const VM_Version_Ext::_family_id_amd[ExtendedFamilyIdLength_AMD] = {
"",
"",
"Opteron/Athlon64",
- "Opteron QC/Phenom" // Barcelona et.al.
+ "Opteron QC/Phenom", // Barcelona et.al.
"",
"",
"",

0 comments on commit fa94e1b

Please sign in to comment.