review request for 7156729: PPC: R_PPC_REL24 relocation error related to some libraries built without -fPIC
Mikael Vidstedt
mikael.vidstedt at oracle.com
Tue Jun 19 15:29:09 PDT 2012
Dean,
Can I suggest that you turn the logic around to instead list/test for
the platforms where we know we can use the nonpic optimization? That way
we'll avoid running into this type of problem again.
Cheers,
Mikael
On 2012-06-18 00:07, Dean Long wrote:
> http://cr.openjdk.java.net/~dlong/7156729/
> Summary of changes: 8 lines changed: 7 ins; 0 del; 1 mod; 40 unchg
>
> Non-PIC objects have a limited range when calling external functions,
> so dynamic linking can fail if for example libc is too far away. The
> solution is to build all powerpc objects with -fPIC, including the
> oops and gc directories that were previously excluded. This causes
> calls to go through the PLT. PIC_ARCH is a list that can be expanded
> later (ARM could be next). I also tried using -mlongcall instead of
> -fPIC, but it doesn't have any performance advantage over -fPIC and it
> causes a 17% increase in static footprint vs. a 5% decrease for -fPIC.
>
> To measure the performance regression, I ran some refworkload
> benchmarks with different heap sizes. As expected, the smaller the
> heap, the bigger the slowdown. With a 32m heap, specjvm98 "javac"
> slows down by 2.5%. The GC logs show about a 6% slowdown in pause times.
>
> There are some known issues with -fPIC overhead in the current
> toolchain, so we expect to gain much of the performance back in the
> future when we can move to a newer toolchain. But since this is
> targeted for 7u6/hs23.2, there isn't much choice for now.
>
> dl
More information about the hotspot-dev
mailing list