RFR(xs): 8171408: [aix] TOC overflow when linking the gtest libjvm.so
erik.joelsson at oracle.com
Tue Dec 20 08:17:56 UTC 2016
I understand why you want to filter out the -qpic flag from the general
JVM_CFLAGS, but that kind of logic is brittle so we try to avoid it
unless absolutely necessary. I prefer to just rely on the tools treating
command line options as the last one takes precedence. I assume the AIX
compiler behaves that way too and that a -qpic=large will override a
-qpic earlier on the command line. We have consciously designed
SetupNativeCompilation to add all the *FLAGS in the order of most
specific flags last for this reason.
So, could you try removing the filtering and see if it still works?
On 2016-12-18 13:50, Thomas Stüfe wrote:
> Hi all,
> please take a look at this small fix. In short, on AIX when linking the
> gtest version of libjvm.so, the TOC overflows.
> So the gtest libjvm.so must be linked with -bbigtoc, in contrast to the
> regular libjvm.so, which has no problems and can keep using a small TOC.
> Also, I compile all gtest objects with -qpic=large. Note that this only
> affects the gtest objects. The regular objects - which the gtest libjvm.so
> shares with the regular libjvm.so - I left at -qpic[=small]. This means we
> pay a bit of a performance overhead in the gtest libjvm.so but leave the
> regular libjvm.so at its optimal linker settings.
> (Hope the webrev link works, the webserver is still down).
> Kind Regards, Thomas
More information about the hotspot-dev