RFR(XS): 8191337: GCC 4.8 build broken after 8186571
Kim Barrett
kim.barrett at oracle.com
Wed Nov 15 20:59:54 UTC 2017
> 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*);
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