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