RFR(XS): 8191337: GCC 4.8 build broken after 8186571

Kim Barrett kim.barrett at oracle.com
Fri Nov 17 16:50:12 UTC 2017


> On Nov 17, 2017, at 4:06 AM, Stefan Johansson <stefan.johansson at oracle.com> wrote:
> 
> 
> 
> On 2017-11-15 21:59, Kim Barrett wrote:
>>> On Nov 15, 2017, at 11:23 AM, Doerr, Martin <martin.doerr at sap.com> wrote:
>>> 
>>> Hi,
>>>  I’d like to build the VM with GCC 4.8.5, but I got the following error while linking:
>>> g1FullGCOopClosures.hpp:140: undefined reference to `void G1VerifyOopClosure::do_oop_nv<unsigned int>(unsigned int*)'
>>>  It can be fixed by:
>>> http://cr.openjdk.java.net/~mdoerr/8191337_fix_linux_build/webrev/
>>>  Please review. I will also need a sponsor.
>>>  Thanks and best regards,
>>> Martin
>> Rather than moving the do_oop definitions, maybe instead add explicit
>> instantiations of the template in the .cpp file, e.g.
>> 
>> template void G1VerifyOopClosure::do_oop_nv(oop*);
>> template void G1VerifyOopClosure::do_oop_nv(narrowOop*);
> Thanks Kim,
> 
> I spoke to Martin and we agreed on using this solution. Martin created a new webrev and I will put myself as the second reviewer and push:
> http://cr.openjdk.java.net/~mdoerr/8191337_fix_linux_build/webrev.01/

That looks good.

> 
> Cheers,
> Stefan
> 
>> 
>> I'm not sure what's different about gcc4.9 (what we test with at
>> Oracle) that would have allowed the existing code to work at all.




More information about the hotspot-gc-dev mailing list