<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d45fbff0f38f0b02b4ac9d3a90705e65153fccdf">https://github.com/macports/macports-ports/commit/d45fbff0f38f0b02b4ac9d3a90705e65153fccdf</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new d45fbff0f38 openjdk{17,18}: Fix builds on arm64
</span>d45fbff0f38 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit d45fbff0f38f0b02b4ac9d3a90705e65153fccdf
</span>Author: usersxx <97012123+usersxx@users.noreply.github.com>
AuthorDate: Mon May 16 20:20:59 2022 +0530

<span style='display:block; white-space:pre;color:#404040;'>    openjdk{17,18}: Fix builds on arm64
</span>---
 java/openjdk17/Portfile                            |  2 ++
 ...OS-hotspot-arm64-bug-exposed-by-latest-cl.patch | 35 ++++++++++++++++++++++
 java/openjdk18/Portfile                            |  2 ++
 ...OS-hotspot-arm64-bug-exposed-by-latest-cl.patch | 35 ++++++++++++++++++++++
 4 files changed, 74 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk17/Portfile b/java/openjdk17/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d3449594f80..7c82e949ed0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/java/openjdk17/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk17/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,6 +34,8 @@ pre-patch {
</span>     reinplace "s|xmacosx|xwindows|g" ${worksrcpath}/make/autoconf/lib-freetype.m4
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          0001-8280476-macOS-hotspot-arm64-bug-exposed-by-latest-cl.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> set tpath /Library/Java
 use_xcode           yes
 use_configure    yes
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk17/files/0001-8280476-macOS-hotspot-arm64-bug-exposed-by-latest-cl.patch b/java/openjdk17/files/0001-8280476-macOS-hotspot-arm64-bug-exposed-by-latest-cl.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d1ada3bcdd0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk17/files/0001-8280476-macOS-hotspot-arm64-bug-exposed-by-latest-cl.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,35 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From f5d6fddc6df8c5c5456a2544b131833d5227292b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: "Daniel D. Daugherty" <dcubed@openjdk.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 4 Feb 2022 17:37:01 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] 8280476: [macOS] : hotspot arm64 bug exposed by latest clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Reviewed-by: kbarrett, adinn
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/hotspot/cpu/aarch64/immediate_aarch64.cpp | 11 ++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 10 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/hotspot/cpu/aarch64/immediate_aarch64.cpp src/hotspot/cpu/aarch64/immediate_aarch64.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3e38b7cca04..916494605bc 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/hotspot/cpu/aarch64/immediate_aarch64.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/hotspot/cpu/aarch64/immediate_aarch64.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -129,8 +129,17 @@ static inline uint32_t uimm(uint32_t val, int hi, int lo)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ uint64_t replicate(uint64_t bits, int nbits, int count)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  assert(count > 0, "must be");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  assert(nbits > 0, "must be");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  assert(count * nbits <= 64, "must be");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  // Special case nbits == 64 since the shift below with that nbits value
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  // would result in undefined behavior.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (nbits == 64) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return bits;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   uint64_t result = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  // nbits may be 64 in which case we want mask to be -1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   uint64_t mask = ones(nbits);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   for (int i = 0; i < count ; i++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     result <<= nbits;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.35.1
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk18/Portfile b/java/openjdk18/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1f5ac3ef2c6..993381ccf73 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/java/openjdk18/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk18/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,6 +34,8 @@ pre-patch {
</span>     reinplace "s|xmacosx|xwindows|g" ${worksrcpath}/make/autoconf/lib-freetype.m4
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          0001-8280476-macOS-hotspot-arm64-bug-exposed-by-latest-cl.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> set tpath /Library/Java
 use_xcode           yes
 use_configure    yes
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk18/files/0001-8280476-macOS-hotspot-arm64-bug-exposed-by-latest-cl.patch b/java/openjdk18/files/0001-8280476-macOS-hotspot-arm64-bug-exposed-by-latest-cl.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d1ada3bcdd0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk18/files/0001-8280476-macOS-hotspot-arm64-bug-exposed-by-latest-cl.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,35 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From f5d6fddc6df8c5c5456a2544b131833d5227292b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: "Daniel D. Daugherty" <dcubed@openjdk.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 4 Feb 2022 17:37:01 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] 8280476: [macOS] : hotspot arm64 bug exposed by latest clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Reviewed-by: kbarrett, adinn
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/hotspot/cpu/aarch64/immediate_aarch64.cpp | 11 ++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 10 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/hotspot/cpu/aarch64/immediate_aarch64.cpp src/hotspot/cpu/aarch64/immediate_aarch64.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3e38b7cca04..916494605bc 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/hotspot/cpu/aarch64/immediate_aarch64.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/hotspot/cpu/aarch64/immediate_aarch64.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -129,8 +129,17 @@ static inline uint32_t uimm(uint32_t val, int hi, int lo)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ uint64_t replicate(uint64_t bits, int nbits, int count)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  assert(count > 0, "must be");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  assert(nbits > 0, "must be");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  assert(count * nbits <= 64, "must be");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  // Special case nbits == 64 since the shift below with that nbits value
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  // would result in undefined behavior.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (nbits == 64) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return bits;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   uint64_t result = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  // nbits may be 64 in which case we want mask to be -1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   uint64_t mask = ones(nbits);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   for (int i = 0; i < count ; i++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     result <<= nbits;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.35.1
</span></pre><pre style='margin:0'>

</pre>