Bug 255902 - java/openjdk13: Fix compile error (and possible segfaults) with clang 12
Summary: java/openjdk13: Fix compile error (and possible segfaults) with clang 12
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-java (Nobody)
URL:
Keywords:
Depends on:
Blocks: 255570
  Show dependency treegraph
 
Reported: 2021-05-15 14:28 UTC by Dimitry Andric
Modified: 2021-05-29 14:15 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (java)


Attachments
Fix java/openjdk13 build with clang 12 (2.25 KB, patch)
2021-05-15 14:28 UTC, Dimitry Andric
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitry Andric freebsd_committer 2021-05-15 14:28:21 UTC
Created attachment 224969 [details]
Fix java/openjdk13 build with clang 12

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 openjdk13.

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

gmake[4]: Leaving directory '/wrkdirs/share/dim/ports/java/openjdk13/work/openjdk-jdk13u-jdk-13.0.7-1-1/make'
/wrkdirs/share/dim/ports/java/openjdk13/work/openjdk-jdk13u-jdk-13.0.7-1-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/share/dim/ports/java/openjdk13/work/openjdk-jdk13u-jdk-13.0.7-1-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 commit [1]:

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 commit [2]:

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

I have attached a patch that adds these commits as additional patches.

[1] https://github.com/openjdk/jdk/commit/f8a9602a0a65cdc98eb940aac9529256ded2bf42
[2] https://github.com/openjdk/jdk/commit/c484d8904285652246c3af212a4211b9a8955149
Comment 1 commit-hook freebsd_committer 2021-05-29 14:09:41 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=983b41adeb3243c1b5dde8705d6e72b36a173ef3

commit 983b41adeb3243c1b5dde8705d6e72b36a173ef3
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2021-05-15 14:46:29 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2021-05-29 14:08:18 +0000

    java/openjdk13: fix build with clang 12

    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 openjdk13.

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

    gmake[4]: Leaving directory '/wrkdirs/usr/ports/java/openjdk13/work/openjdk-jdk13u-jdk-13.0.7-1-1/make'
    /wrkdirs/usr/ports/java/openjdk13/work/openjdk-jdk13u-jdk-13.0.7-1-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/openjdk13/work/openjdk-jdk13u-jdk-13.0.7-1-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:             255902
    MFH:            2021Q2

 .../openjdk13/files/patch-commit-c484d890428 (new) | 23 ++++++++++++++++++
 .../openjdk13/files/patch-commit-f8a9602a0a6 (new) | 28 ++++++++++++++++++++++
 2 files changed, 51 insertions(+)