Incompatibility of PIC and non-PIC

David Huggins-Daines dhd@linuxcare.com
18 Aug 2000 13:25:53 -0400


Alan Modra <alan@linuxcare.com.au> writes:

> On Fri, 18 Aug 2000, Alan Modra wrote:
> 
> > One way to keep out current ABI is to generate a .plt and import stubs
> > when statically linking PIC code.  That should be relatively easy to do in
> > the linker.
> 
> A bit of head-scratching, a couple of added functions, and the linker now
> detects PIC functions and handles them appropriately.

Sorry to burst your bubble but this doesn't work in the real world,
where "real world" is defined as 'hppa-linux-gcc -o hello hello.c'

In fact this new linker ends up marking basically everything as
potentially PIC, creating unnecessary import stubs for most functions
in libc.a, and *not* actually switching the relocations to point to
import stubs in the case where I am actually calling PIC in libgcc.a.

Oh and it segfaults on undefined weak symbols though that's easily
fixed.

I'm not even sure where to start fixing this.  I guess I'll try to
find something else to do today :(

-- 
dhd@linuxcare.com, http://www.linuxcare.com/
Linuxcare. Support for the revolution.