On Sunday 30 April 2006 11:06, Jörg Wendel wrote:
On Sonntag 30 April 2006 10:50, Klaus Schmidinger wrote:
Darren Salt wrote:
I demand that Klaus Schmidinger may or may not have written...
[snip]
Apparently PIC is only available on special processors, especially *not* Intel, [...]
False. You need -fPIC for libraries on ARM, which means that you need it on XScale - and that's an Intel processor...
I looked up the -fPIC option in "Using and Porting GNU CC", version 2.95, where it says on page 110:
"This option makes a difference on the m68k, m88k, and the Sparc."
Well, that manual is a little old, so maybe that information is outdated...
Klaus
the same hint is still included in the manpage of "gcc (GCC) 4.0.2"
-fPIC If supported for the target machine, emit position-independent code, suitable for dynamic linking and avoiding any limit on the size of the global offset table. This option makes a difference
on the m68k, PowerPC and SPARC. Position-independent code requires special support, and therefore works only on certain machines.
i my idea is likewise that it doesn't care on Intel systems.
PIC does(!) make a change on Intel systems, too.
PIC = Position Independant Code That means the compiler will not assamble absolute jumps but create a table with addresses to use indirect address lookup.
For a better description have a look at: http://www.gentoo.org/proj/en/hardened/pic-guide.xml and http://www.gentoo.org/proj/en/hardened/pic-internals.xml
Greetings Matthias