RFR: 8175567: Build of hotspot for arm-vfp-sflt fails

Bob Vandette bob.vandette at oracle.com
Mon Feb 27 18:15:19 UTC 2017


> On Feb 27, 2017, at 1:05 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
> 
> That change was done explicitly but that was not tested as I see it:
> 
> "It guards single_softfp() and double_softfp() by __SOFTFP__.
> This is not used in any openJdk platform. I can not test this
> on the closed platforms ARM32 and PPC32."
> 
> May be it should check both? Please, explain if not:
> 
> #if defined(__SOFTFP__) || defined(ARM32)
> 
> You need also update:
> 
> #endif // __SOFTFP__

__SOFTFP__ is only use for ARM32 ports so I simplified the ifdef.

In reality, I should have used:

#if defined(ARM32) && !defined(__ABI_HARD__)

but the only downside is that we end up defining these two functions ARM32 platforms
but they are not used in the __ABI_HARD__ case.  

Bob.


> 
> Thanks,
> Vladimir
> 
> On 2/27/17 8:15 AM, Bob Vandette wrote:
>> BUG:
>> 
>> https://bugs.openjdk.java.net/browse/JDK-8175567
>> 
>> DESCRIPTION:
>> 
>> The changes that were done under  (JDK-8160245 Clean up platform #defines in c1_LIR.hpp),
>> broke the arm-vfp-sflt build.
>> 
>> Here’s a link to that original bug:
>> 
>>     https://bugs.openjdk.java.net/browse/JDK-8160245
>> 
>> This change below corrects the issue.
>> 
>> diff --git a/src/share/vm/c1/c1_LIR.hpp b/src/share/vm/c1/c1_LIR.hpp
>> --- a/src/share/vm/c1/c1_LIR.hpp
>> +++ b/src/share/vm/c1/c1_LIR.hpp
>> @@ -613,7 +613,7 @@
>>   // Platform dependant.
>>   static LIR_Opr double_fpu(int reg1, int reg2 = -1 /*fnoreg*/);
>> 
>> -#ifdef __SOFTFP__
>> +#ifdef ARM32
>>   static LIR_Opr single_softfp(int reg) {
>>     return (LIR_Opr)(intptr_t)((reg  << LIR_OprDesc::reg1_shift) |
>>                                LIR_OprDesc::float_type           |
>> 
>> Bob.
>> 



More information about the hotspot-dev mailing list