HotSpot build failure with GCC 7.1.1

David Holmes david.holmes at oracle.com
Thu Aug 3 23:12:44 UTC 2017


On 4/08/2017 3:12 AM, Kim Barrett wrote:
>> On Aug 3, 2017, at 9:16 AM, Yasumasa Suenaga <yasuenag at gmail.com> wrote:
>>
>> Hi all,
>>
>> I tried to jdk10/hs on Fedora 26 x86_64 with GCC 7.1.1, however it was failed as below:
>> -------------------
>> /home/ysuenaga/OpenJDK/jdk10-hs/hotspot/src/share/vm/oops/array.hpp: In static member function 'static int Array<T>::size(int, int)':
>> /home/ysuenaga/OpenJDK/jdk10-hs/hotspot/src/share/vm/oops/array.hpp:138:12: error: there are no arguments to 'align_size_up' that depend on a template parameter, so a declaration of 'align_size_up' must be available [-fpermissive]
>>      return align_size_up(byte_sizeof(length, elm_byte_size), BytesPerWord) / BytesPerWord; // FIXME
>>             ^~~~~~~~~~~~~
>> /home/ysuenaga/OpenJDK/jdk10-hs/hotspot/src/share/vm/oops/array.hpp:138:12: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
>> In file included from /home/ysuenaga/OpenJDK/jdk10-hs/hotspot/src/share/vm/runtime/os.inline.hpp:30:0,
>>                  from /home/ysuenaga/OpenJDK/jdk10-hs/hotspot/src/share/vm/runtime/thread.inline.hpp:31,
>>    ... (rest of output omitted)
>> -------------------
>>
>> I think this failure is since JDK-8072061:
>>   http://hg.openjdk.java.net/jdk10/hs/hotspot/rev/731370f39fcd#l42.35
>>
>> IMHO we can fix this error as below:
>> -------------------
>> diff -r 731370f39fcd src/share/vm/oops/array.hpp
>> --- a/src/share/vm/oops/array.hpp       Wed Aug 02 18:06:38 2017 -0700
>> +++ b/src/share/vm/oops/array.hpp       Thu Aug 03 22:14:46 2017 +0900
>> @@ -135,7 +135,7 @@
>>      return (int)words;
>>    }
>>    static int size(int length, int elm_byte_size) {
>> -    return align_size_up(byte_sizeof(length, elm_byte_size), BytesPerWord) / BytesPerWord; // FIXME
>> +    return align_up(byte_sizeof(length, elm_byte_size), BytesPerWord) / BytesPerWord;
>>    }
>>
>>    int size() {
>> -------------------
>>
>> Someone is working for this issue?
>> If not, I will file it to JBS and will send review request.
> 
> I don’t know of a bug for this.  Yes, please fix.
> 
> I’m surprised this made it through JPRT.  There is value dependency on T (in byte_sizeof),
> but it doesn’t seem like something that ought to make the lookup of align_size_up dependent.
> I guess I need to go re-read about two-phase lookup.

I can't even see a definition of align_size_up - where is it coming from ???

David

> 
> 


More information about the hotspot-dev mailing list