On 09/06/17 00:52, John Paul Adrian Glaubitz wrote:
Source: openjdk-9 Version: 9~b170-2 Severity: normal User: [email protected] Usertags: armelHello! 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.
From some googling it seems that PLD is just a cache hint instruction, so afaict it should be ok just to ifdef it out when building for CPUs that don't support it. _______________________________________________ Mailing list: https://launchpad.net/~openjdk Post to : [email protected] Unsubscribe : https://launchpad.net/~openjdk More help : https://help.launchpad.net/ListHelp

