Hi,
On Wed, Sep 22, 2010 at 1:38 PM, Loïc Minier loic.minier@linaro.org wrote:
On Wed, Sep 22, 2010, Dave Martin wrote:
This tells the compiler to generate PIC code, but it doesn't tell the linker to generate PIC output... which matters if the linker needs to add extra code during the link.
Perhaps a stupid question, but why -fPIC/-shared and not -fPIE/-pie?
Dunno :)
I'm not a toolchain expert, so I'm happy to be overridden... but my _guess_ is:
I think that in practice (at least on arm) cc -fPIC = cc -fPIE, and ld -pie just forces ld to generate PIC veneers (as for -shared). Beyond this, I think ld -shared / -pie / (nothing) probably just changes which linker script is used by default. U-Boot overrides the default with its own linker script anyway, so it may make no difference.
---Dave