On Fri, Nov 14, 2008 at 10:52 AM, Stefan Reinauer stepan@coresystems.de wrote:
Carl-Daniel Hailfinger wrote:
We're missing one crucial piece which is necessary to get PIC to work: The linker. PIC code must be linked _after_ its location is known.
That sounds absurd as it would totally defeat the purpose of PIC.
It's position independent code exactly _because_ you can't know the position at link time.
actually, the GCC definiton of PIC is odd to say the least, as compared to what I used to call PIC.
But I am afraid carl-daniel is right. PIC in the gcc sense really means "shared libraries" from what I can see, and does require a linker post-pass.
Possibly on machines such as core 2, we should copy the (tiny) initram to CARBASE and run it there, and link it for CARBASE.
ron