-fPIC and shared object
Andrew Haley
aph-gcc@littlepinkcloud.COM
Thu Jun 28 17:15:00 GMT 2007
Olivier Delannoy writes:
> Hello,
>
> I am using linux and I would like to understand the role of -fPIC. I
> understand that it generate code where function address can be
> calculated indirectly after relocation of the .so in applications
> using it. My questions are :
>
> - Is it required to compile with -fPIC every object file packed in a
> dynamic shared object ?
Yes. (Well, kinda: there is a platform that allows relocation to be
performed on shared objects after loading, but it's inefficient and is
purely a backawards compatibility hack.)
> - Is is possible to integrate a static library in a .so safely
> (assuming the static library is not compiled using -fPIC)
No.
> - Is the answer to the previous question the same if the library is
> used only within the boundary of the .so (hidden to the rest of the
> application) ?
Yes.
Andrew.
More information about the Gcc-help
mailing list