-
Bug
-
Resolution: Fixed
-
P4
-
9
-
b151
-
aix
When attemting to link the gtest libjvm.so on AIX, the TOC overflows the 64K limit, probably because the templates in the test_... files weight in heavily.
The solution should be to link the gtest libjvm.so with -bbigtoc. Ideally, in this case all object files in the libjvm should be compiled with -qpic=large of just with -qpic as it is today. -qpic=large imposes a small performance overhead, but -qpic with -bigtoc imposes a large performance penalty.
The problem here is that the same object files are linked to both the regular libjvm.so and to the gtest libjvm.so. The regular libjvm.so can be linked without TOC overflow, so compiling the objects with -qpic=large would impose a performance overhead without need to the regular libjvm.so.
Therefore, the best solution would be to compile just those modules which are exclusively part of the gtest libjvm with -qpic=large. This means we use optimal settings for the regular libjvm and pay performance penalties when running the gtest libjvm.
The solution should be to link the gtest libjvm.so with -bbigtoc. Ideally, in this case all object files in the libjvm should be compiled with -qpic=large of just with -qpic as it is today. -qpic=large imposes a small performance overhead, but -qpic with -bigtoc imposes a large performance penalty.
The problem here is that the same object files are linked to both the regular libjvm.so and to the gtest libjvm.so. The regular libjvm.so can be linked without TOC overflow, so compiling the objects with -qpic=large would impose a performance overhead without need to the regular libjvm.so.
Therefore, the best solution would be to compile just those modules which are exclusively part of the gtest libjvm with -qpic=large. This means we use optimal settings for the regular libjvm and pay performance penalties when running the gtest libjvm.
- relates to
-
JDK-8171225 [aix] Fix gtests compile error on AIX 7.1 with xlC 12
-
- Resolved
-
-
JDK-8171433 [aix] switch on gtest AIX build
-
- Resolved
-
-
JDK-8196488 [aix] TOC overflow for libjvm.so in fastdebug build
-
- Resolved
-
-
JDK-8204935 [aix] TOC overflow in libjvm.so (release build)
-
- Resolved
-