[Bug driver/49371] xgcc: error: unrecognized option '-pie' on *-apple-darwin*
iains at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Jun 12 13:02:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49371
--- Comment #13 from Iain Sandoe <iains at gcc dot gnu.org> 2011-06-12 13:00:49 UTC ---
(In reply to comment #12)
> The reason for the error is that no spec matches the option. For most
> targets, the option is matched in LINK_PIE_SPEC (only), which is part of
> LINK_COMMAND_SPEC; Darwin uses its own LINK_COMMAND_SPEC (as does DJGPP).
> I would advise making Darwin behave similarly to other targets by
> including an appropriate spec for this option in Darwin's
> LINK_COMMAND_SPEC.
that's what the attached patch @comment #10 does.
there are some potential refinements;
(a) the warning message from cc1 is a bit non-helpful when mdynamic-no-pic is
combined with pie - since it refers to fpic/fPIC which the user did not
actually supply (although she did imply it).,
(b) something like
#undef PIE_SPEC
#define PIE_SPEC \
"%{fpie|pie|fPIE: \
%{mdynamic-no-pic: %n'-mdynamic-no-pic' overides '-pie', '-fpie' or
'-fPIE'; \
:-pie}}"
would avoid the linker error when the combination is given - since the pic is
already overridden, at least it would be consistent.
More information about the Gcc-bugs
mailing list