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
Excerpted from the original submission:
"FreeBSD on several architectures automatically utilizes superpages. So,
for the JVM's JIT-compiled code cache and data heap, much of those regions
are already using superpages. However, the -XX:+UseLargePages option still
serves a useful, if secondary, purpose on FreeBSD. Essentially, it informs
the JVM's platform-independent layer what the supported page sizes are. So,
when memory is mmap(2)ed and munmap(2)ed within the code cache and data
heap, the addresses and sizes will be superpage-aligned and a multiple of
the superpage size, respectively. Currently, without this patch, the code
cache, for example, typically starts at an unaligned address, so the initial
portion of the code cache can never be a superpage. Similarly, unaligned
munmap(2)s on the data heap force the kernel to demote superpages to 4KB
pages, and this patch eliminates those demotions.
This patch both introduces the code needed on FreeBSD to implement
-XX:+UseLargePages and deletes code that was copied from Linux that is, to
the best of my knowledge, useless on any version of BSD, i.e., UseHugeTLBFS
and UseSHM. The additions are in part based on the Solaris version of
os_solaris.cpp, e.g., the sorting of the page sizes array."
Note I did minor style cleanup and regenerated the patches.
Submitted by: alc