Fixes:
In file included from /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/hotspot/src/os/bsd/vm/os_perf_bsd.cpp:61:
In file included from /usr/include/sys/user.h:51:
In file included from /usr/include/vm/pmap.h:88:
In file included from /usr/include/machine/pmap.h:48:
In file included from /usr/include/sys/systm.h:46:
/usr/include/machine/cpufunc.h:184:1: error: static declaration of 'breakpoint' follows non-static declaration
184 | breakpoint(void)
| ^
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp:224:17: note: previous declaration is here
224 | extern "C" void breakpoint();
| ^
- bumped portrevision to easily spot if future bug reports are about this change.
PR: 281991
Approved by: early maintainer timeout java@ (the build is broken and the patch does not affect other architectures)
Obtained from: Mikael Urankar <mikael@> via Attachment 254105 in bug #255662
Clang 19 is now more strict about undefined integral expressions used as
constants in enum, which results in errors compiling java/openjdk8,
similar to:
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/hotspot/src/share/vm/oops/cpCache.hpp:195:34: error: expression is not an integral constant expression
195 | option_bits_mask = ~(((-1) << tos_state_shift) | (field_index_mask | parameter_size_mask))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/hotspot/src/share/vm/oops/cpCache.hpp:195:42: note: left shift of negative value -1
195 | option_bits_mask = ~(((-1) << tos_state_shift) | (field_index_mask | parameter_size_mask))
| ^
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/hotspot/src/share/vm/code/dependencies.hpp:173:27: error: expression is not an integral constant expression
173 | all_types = ((1 << TYPE_LIMIT) - 1) & ((-1) << FIRST_TYPE),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/hotspot/src/share/vm/code/dependencies.hpp:173:59: note: left shift of negative value -1
173 | all_types = ((1 << TYPE_LIMIT) - 1) & ((-1) << FIRST_TYPE),
| ^
In file included from /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/jdk/src/share/native/com/sun/java/util/jar/pack/bands.cpp:43:
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/jdk/src/share/native/com/sun/java/util/jar/pack/constants.h:226:33: error: expression is not an integral constant expression
226 | AO_UNUSED_MBZ = (-1)<<13, // options bits reserved for future use.
| ^~~~~~~~
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/jdk/src/share/native/com/sun/java/util/jar/pack/constants.h:226:37: note: left shift of negative value -1
226 | AO_UNUSED_MBZ = (-1)<<13, // options bits reserved for future use.
| ^
In openjdk11 and later, the (-1) constants have been replaced by the
unsigned variant (~0u), which fixes these errors.
PR: 280559
Approved by: glewis (maintainer)
MFH: 2024Q3
During an exp-run for llvm 15 (see bug 265425), it turned out that
java/openjdk8 failed to build with clang 15:
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:64:30: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'int' [-Wint-conversion]
INVOKE(SplashLoadMemory, NULL)(pdata, size);
^~~~
/usr/include/sys/_null.h:34:14: note: expanded from macro 'NULL'
#define NULL ((void *)0)
^~~~~~~~~~~
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:60:39: note: expanded from macro 'INVOKE'
#define INVOKE(name,def) _INVOKE(name,def,return)
^~~
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:57:25: note: expanded from macro '_INVOKE'
if (!proc) { return def; } \
^~~
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:68:28: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'int' [-Wint-conversion]
INVOKE(SplashLoadFile, NULL)(filename);
^~~~
/usr/include/sys/_null.h:34:14: note: expanded from macro 'NULL'
#define NULL ((void *)0)
^~~~~~~~~~~
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:60:39: note: expanded from macro 'INVOKE'
#define INVOKE(name,def) _INVOKE(name,def,return)
^~~
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:57:25: note: expanded from macro '_INVOKE'
if (!proc) { return def; } \
^~~
2 errors generated.
Indeed, instead of the pointer value NULL, the integer value 0 should be
used.
PR: 268223
Approved by: portmgr (tcberner)
MFH: 2022Q4
Running java or javac executables fails with:
Error: dl failure on line 910
Error: failed /usr/local/openjdk8/jre/lib/ppc64le/server/libjvm.so, because /usr/local/openjdk8/jre/lib/ppc64le/server/libjvm.so: Undefined symbol "_ZN5frameC1EPlPh"
powerpc64le needs --disable-jfr and USE_PRECOMPILED_HEADER=0 - same as powerpc64 elfv2.
Clang refuses to build little-endian binaries for power7, this needs to be bumped to power8 (this is a bug in openjdk, POWER7 is not LE-compatible).
-minsert-sched-nops=regroup_exact -mno-multiple -mno-string are not supported by clang and need to be removed.
FreeBSD uses sys/endian.h instead of byteswap.h and bswap{16,32,64} instead of bswap_{16,32,64}.
PR: 251247
Approved by: java (maintainer timeout)
Remove files/patch-hotspot_src_cpu_ppc_vm_sharedRuntime__ppc.cpp to fix patching.
I'm not sure why this patch was added. Removing it doesn't break build on powerpc64 (both elfv1 and elfv2). There's no include for alloca.h in sharedRuntime_ppc.cpp.
Since the maintainer didn't respond, I'm adding the bootstrap to my own directory on freefall.
PR: 242965
Submitted by: Mikael Urankar (original version)
Approved by: java (maintainer timeout)
* FreeBSD crashes on infinite recursion rather than throwing a stack
overflow because the stack address of the fault is in the page below
the guard area. Workaround this by rounding down the fault address to
the nearest page boundary. Investigation is still under way into what
may be causing this but this appears to prevent it in simple test cases.
PR: 222146
* Updated the fontconfig.patch file
* Simplified FONTCONFIG to use EXTRA_PATCHES rather than a separate target
PR: 239358
Submitted by: John Hein <jcfyecrayz@liamekaens.com>, fluffy
missed during a large merge of the configuration file. This resulted in,
at least, macros affecting maths operations using the big endian rather
than the little endian versions.
PR: 234689
leveraging the libinotify wrapper.
It's still possible to use the polling watchservice,
by defining the following system property:
sun.nio.fs.watchservice=polling