Subject: [PATCH 5/7] gnu: icedtea-7: Fix build on aarch64-linux.

From: Simon South <[email-masked]>
Date: Mon, 15 Jun 2020 11:22:55 -0400

* gnu/packages/java.scm (icedtea-7)[native-inputs]: Remove obsolete,
architecture-dependent patch to "hotspot-drop"; replace with patch to fix
build on aarch64-linux.
* gnu/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/java.scm                         |  2 +-
 .../icedtea-7-hotspot-aarch64-use-c++98.patch | 33 +++++++++++++++++++
 3 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 36dbbd0968..4c030a57db 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1094,6 +1094,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch	\
   %D%/packages/patches/icecat-use-system-media-libs.patch	\
   %D%/packages/patches/icedtea-6-extend-hotspot-aarch64-support.patch	\
+  %D%/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch	\
   %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch  \
   %D%/packages/patches/icu4c-CVE-2020-10531.patch  		\
   %D%/packages/patches/id3lib-CVE-2007-4460.patch			\
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 5f46e883fc..b86e9aab61 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1599,7 +1599,7 @@ bootstrapping purposes.")
               (base32
                "17bdv39n4lh8l5737c96f3xgamx4y305m067p01cywgp7zaddqws"))
              (patches (search-patches
-                       "icedtea-7-hotspot-gcc-segfault-workaround.patch"))))
+                       "icedtea-7-hotspot-aarch64-use-c++98.patch"))))
          ("ant" ,ant-bootstrap)
          ("attr" ,attr)
          ("coreutils" ,coreutils)
diff --git a/gnu/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch b/gnu/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch
new file mode 100644
index 0000000000..7ad215f975
--- /dev/null
+++ b/gnu/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch
@@ -0,0 +1,33 @@
+From 919dd016be1abd213b3a7d0e9a3b79e3286ef6ad Mon Sep 17 00:00:00 2001
+From: Simon South <[email-masked]>
+Date: Wed, 10 Jun 2020 13:02:09 -0400
+Subject: [PATCH] aarch64: Use only C++98
+
+This patch removes an unneeded C++ template that causes the build to
+fail for aarch64 using gcc 7.5.0 and its default support for only the
+C++98 standard.
+
+It is based on original work by Severin Gehwolf <[email-masked]>.
+See: https://bugzilla.redhat.com/show_bug.cgi?id=1307224
+---
+ src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp
+index 0bc0a2b..6f73ca0 100644
+--- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp
++++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp
+@@ -194,10 +194,6 @@ static int reg2offset_out(VMReg r) {
+   return (r->reg2stack() + SharedRuntime::out_preserve_stack_slots()) * VMRegImpl::stack_slot_size;
+ }
+ 
+-template <class T> static const T& min (const T& a, const T& b) {
+-  return (a > b) ? b : a;
+-}
+-
+ // ---------------------------------------------------------------------------
+ // Read the array of BasicTypes from a signature, and compute where the
+ // arguments should go.  Values in the VMRegPair regs array refer to 4-byte
+-- 
+2.26.2
+
-- 
2.26.2