Build failure on macOS 10.15

Russ Allbery eagle at
Mon Nov 30 19:17:00 UTC 2020

Julien ÉLIE <julien at> writes:

>> Don't you want something like this?

>>      [CFLAGS="$CFLAGS -fPIE"
>>       RRA_PROG_LD_FLAG([-pie], [LDFLAGS="$LDFLAGS -pie"])])

>> I could support checking both at the same time, but I think the above
>> is equivalent for all systems I'm aware of and makes it fairly clear
>> what's going on.

> Couldn't we have linkers that do not know how to link PIE executables?
> The compiler would support PIE but the linker would not, so we would not
> want to have CFLAGS with -fPIE if RRA_PROG_LD_FLAG([-pie]) failed.
> That's why I thought setting both CFLAGS and LDFLAGS at the same time
> would be better to handle that case (which maybe does not exist in
> practice).

Oh, I see, and it's otherwise a bit awkward because you have to write:

         [LDFLAGS="$LDFLAGS -pie"],

That said, I haven't seen that combination, and I also don't think it's
harmful to have the compiler generate PIE code even if the linker doesn't
create PIE executables.  (There's a minor performance penalty, but I'm not
sure it's worth worrying about for this edge case.)

The main reason why I'm reluctant is that I think it makes the macro a bit
hard to understand when it takes both compiler and linker flags.  Hm, if
we go that route, I think I'd want to make a third macro called
RRA_PROG_CC_LD_FLAGS to make it explicit and separate from the macros to
probe compiler and linker flags independently.

Russ Allbery (eagle at             <>

    Please send questions to the list rather than mailing me directly.
     <> explains why.

More information about the inn-workers mailing list