git: 52dcd350e7d8 - main - java/openjdk21: fix build on freebsd 16/aarch64

From: Ronald Klop <ronald_at_FreeBSD.org>
Date: Thu, 25 Jun 2026 07:12:07 UTC
The branch main has been updated by ronald:

URL: https://cgit.FreeBSD.org/ports/commit/?id=52dcd350e7d8d967da4d10b9da9ecbce44f0b7dc

commit 52dcd350e7d8d967da4d10b9da9ecbce44f0b7dc
Author:     Ronald Klop <ronald@FreeBSD.org>
AuthorDate: 2026-06-25 07:09:22 +0000
Commit:     Ronald Klop <ronald@FreeBSD.org>
CommitDate: 2026-06-25 07:11:44 +0000

    java/openjdk21: fix build on freebsd 16/aarch64
    
    === Output from failing command(s) repeated here ===
    * For target hotspot_variant-server_libjvm_objs_os_perf_bsd.o:
    In file included from /wrkdirs/usr/ports/java/openjdk21/work/jdk21u-jdk-21.0.10-7-1/src/hotspot/os/bsd/os_perf_bsd.cpp:38:
    In file included from /usr/include/sys/user.h:52:
    In file included from /usr/include/vm/pmap.h:88:
    In file included from /usr/include/machine/pmap.h:46:
    In file included from /usr/include/sys/systm.h:46:
    /usr/include/machine/cpufunc.h:35:1: error: static declaration of 'breakpoint' follows non-static declaration
       35 | breakpoint(void)
          | ^
    /wrkdirs/usr/ports/java/openjdk21/work/jdk21u-jdk-21.0.10-7-1/src/hotspot/share/utilities/breakpoint.hpp:31:17: note: previous declaration is here
       31 | extern "C" void breakpoint();
          |                 ^
    1 error generated.
    
    * All command lines available in /wrkdirs/usr/ports/java/openjdk21/work/jdk21u-jdk-21.0.10-7-1/build/bsd-aarch64-server-release/make-support/failure-logs.
    === End of repeated output ===
    
    Similar fix to openjdk8/25/26.
    
    I don't know why this does not happen on other architectures or freebsd
    versions.
    
    - changed post-patch to pre-configure, this makes it a lot easier to use "make
    makepatch".
    
    Reported-by:    https://portsfallout.com/fallout?port=java%2Fopenjdk
    Approved-by:    silence on java@ https://lists.freebsd.org/archives/freebsd-java/2026-June/003715.html
---
 java/openjdk21/Makefile                                     |  2 +-
 .../files/patch-src_hotspot_os_bsd_os__perf__bsd.cpp        | 13 +++++++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/java/openjdk21/Makefile b/java/openjdk21/Makefile
index 00b5fe8d0fff..6a5e27a82984 100644
--- a/java/openjdk21/Makefile
+++ b/java/openjdk21/Makefile
@@ -154,7 +154,7 @@ ICONV_LDFLAGS=	-L${LOCALBASE}/lib
 ICONV_LIBS=	${ICONV_LIB}
 .endif
 
-post-patch:
+pre-configure:
 	@${RM} ${WRKSRC}/src/hotspot/os_cpu/bsd_ppc/thread_bsd_ppc.cpp
 	@${MV} ${WRKSRC}/src/hotspot/os_cpu/bsd_ppc/thread_bsd_ppc.hpp \
 		${WRKSRC}/src/hotspot/os_cpu/bsd_ppc/javaThread_bsd_ppc.hpp
diff --git a/java/openjdk21/files/patch-src_hotspot_os_bsd_os__perf__bsd.cpp b/java/openjdk21/files/patch-src_hotspot_os_bsd_os__perf__bsd.cpp
new file mode 100644
index 000000000000..ba2f4338dd4a
--- /dev/null
+++ b/java/openjdk21/files/patch-src_hotspot_os_bsd_os__perf__bsd.cpp
@@ -0,0 +1,13 @@
+--- src/hotspot/os/bsd/os_perf_bsd.cpp.orig	2026-01-23 03:03:41 UTC
++++ src/hotspot/os/bsd/os_perf_bsd.cpp
+@@ -35,6 +35,10 @@
+   #include <mach/task_info.h>
+ #else
+ # if !defined(__NetBSD__)
++  #if ( defined (__aarch64__) && __FreeBSD_version >= 160000 )
++    // do not redefine breakpoint
++    #define _MACHINE_CPUFUNC_H_
++  #endif
+   #include <sys/user.h>
+ # endif
+   #include <sys/sched.h>