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

Stefan Johansson stefan.johansson at oracle.com
Fri Nov 17 09:06:49 UTC 2017



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/

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