Build failure on zero/openjdk9

Ivan Krylov ivan at azulsystems.com
Tue May 12 06:41:30 UTC 2015


Hi Andrew,

Typically such errors pop up when a compiler version being updated.
I am on Ubuntu 14.04.2 LTS with gcc 4.8.2
I assume that compiler got a bit more strict about implicit 
signed/unsigned conversions.
I think that the stock hotspot always had treat-warning-as-error flag 
on, but I am not sure if zero was always that way too.

Thanks,

Ivan


On 11/05/2015 05:29, Andrew Hughes wrote:
> ----- Original Message -----
>> Hi Ivan,
>>
>> the change looks good and I can sponsor it. But you always need a bug
>> ID so yes, please open a bug for it.
>>
>> I also put Severin from RedHat on CC to hear his opinion because as
>> far as I know he's currently maintaining the Zero port.
>>
> It's "Red Hat", not RedHat :)
>
> This looks fine to me, though I'm curious as to why it's causing issues
> now. This line of code is present all the way back to OpenJDK 6 and comes
> from the original Zero integration.
>
> changeset:   1010:354d3184f6b2
> user:        never
> date:        Tue Oct 13 12:04:21 2009 -0700
> summary:     6890308: integrate zero assembler hotspot changes
>
> A new version of GCC? New flags being enabled by default?
>
>> Regards,
>> Volker
>>
>>
>> On Wed, May 6, 2015 at 3:01 PM, Ivan Krylov <ivan at azulsystems.com> wrote:
>>> Hi folks,
>>>
>>> Today I found a small error in the printf parameters that prevents openjdk9
>>> to build in a zero configuration.
>>> Who owns hotspot/src/cpu/zero/vm/frame_zero.cpp ?
>>>
>>> This is the build error:
>>> /home/ivan/openjdk9/hotspot/src/cpu/zero/vm/frame_zero.cpp: In member
>>> function ‘void frame::zero_print_on_error(int, outputStream*, char*, int)
>>> const’:
>>> /home/ivan/openjdk9/hotspot/src/cpu/zero/vm/frame_zero.cpp:216:73: error:
>>> format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 3
>>> has type ‘intptr_t* {aka long int*}’ [-Werror=format=]
>>>       st->print_cr(" " PTR_FORMAT ": %-21s = %s", addr, fieldbuf, valuebuf);
>>> ^
>>> cc1plus: all warnings being treated as errors
>>>
>>> ---
>>>
>>> The patch is trivial (I am the OCA signatory as ikrylov)
>>>
>>> ivan:~/openjdk9/hotspot$ hg diff
>>> diff -r 86ab44ce262e src/cpu/zero/vm/frame_zero.cpp
>>> --- a/src/cpu/zero/vm/frame_zero.cpp    Thu Apr 30 13:02:03 2015 -0700
>>> +++ b/src/cpu/zero/vm/frame_zero.cpp    Wed May 06 15:55:10 2015 +0300
>>> @@ -213,7 +213,7 @@
>>>       valuebuf[buflen - 1] = '\0';
>>>
>>>       // Print the result
>>> -    st->print_cr(" " PTR_FORMAT ": %-21s = %s", addr, fieldbuf, valuebuf);
>>> +    st->print_cr(" " PTR_FORMAT ": %-21s = %s", p2i(addr), fieldbuf,
>>> valuebuf);
>>>     }
>>>   }
>>>
>>> Can someone push the change or do I need to file the bug/go through code
>>> review process?
>>>
>>> Thanks,
>>>
>>> Ivan
>>>
>>>
>>>



More information about the zero-dev mailing list