http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49371
--- Comment #5 from Iain Sandoe <iains at gcc dot gnu.org> 2011-06-11 16:52:59 UTC --- (In reply to comment #4) > What is the meaning of %{fpie:-pie} in gcc/config/darwin.h? that causes '-pie' to be placed on sub-command lines when '-fpie' is seen (and thus -pie is forwarded to sub-processes of the driver - including the linker). one could use 'fpie|pie' which would substitute -pie for either input - however, I am not sure if there are different intentions for '-pie', '-fpie' and '-fPIE'. I googled briefly, but without much light shed. In the case of the Apple/system compilers: -pie and -fPIE are ignored (silently). The only option that produces PIE executables is -fpie.