Source: openjdk-9
Version: 9~b170-2
Severity: normal
User: debian-arm@xxxxxxxxxxxxxxxx
Usertags: armel
Hello!
openjdk-9 currently fails to build from source on armel because
the ARM-specific code in the native Hotspot JVM uses instructions
like "bkpt" [1] and "pld" [2] which are only available on ARMv5
and newer while armel is equivalent to ARMv4T.
I have already looked into patching out some of the ARMv5 assembly
for armel and while getting rid of "bkpt" is a matter of not defining
BREAKPOINT as __asm__ volatile ("bkpt"),
--- a/hotspot/src/cpu/arm/vm/globalDefinitions_arm.hpp 2017-05-11 12:11:42.000000000 +0000
+++ b/hotspot/src/cpu/arm/vm/globalDefinitions_arm.hpp 2017-06-08 21:48:36.527377766 +0000
@@ -70,7 +70,7 @@
#define C1_LIRGENERATOR_MD_HPP "c1_LIRGenerator_arm.hpp"
#ifdef TARGET_COMPILER_gcc
-#ifdef ARM32
+#if defined(ARM32) && defined(__ARM_FP)
#undef BREAKPOINT
#define BREAKPOINT __asm__ volatile ("bkpt")
#endif
getting rid of "pld" wasn't that easy because it's part of a larger
assembly source. Thus, the only viable option is to drop armel
from the list hotspot_archs in debian/rules.