RFR(xs): 8171408: [aix] TOC overflow when linking the gtest libjvm.so

Thomas Stüfe thomas.stuefe at gmail.com
Tue Dec 20 08:21:27 UTC 2016


Hi Erik,

On Tue, Dec 20, 2016 at 9:17 AM, Erik Joelsson <erik.joelsson at oracle.com>
wrote:

> Hello,
>
> 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.
>
>
You are right, and Volker just complained about the same thing :) I'll post
an updated ref where I just rely on qpic=large following qpic. I was not
happy with that filter-out expression either.

..Thomas


> So, could you try removing the filtering and see if it still works?
>
> /Erik
>
>
>
> 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.
>>
>> Issue:
>> https://bugs.openjdk.java.net/browse/JDK-8171408
>>
>> Webrev:
>> http://cr.openjdk.java.net/~stuefe/webrevs/8171408-aix-TOC-
>> overflow-when-linking-the-gtest-libjvm/webrev.00/
>>
>> (Hope the webrev link works, the webserver is still down).
>>
>> Kind Regards, Thomas
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20161220/8c8e8fcb/attachment-0001.html>


More information about the ppc-aix-port-dev mailing list