arm thumb veneer question

Dave Martin dave.martin at
Wed Sep 22 13:55:58 BST 2010


On Wed, Sep 22, 2010 at 1:38 PM, Loïc Minier <loic.minier at> 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.


More information about the linaro-toolchain mailing list