https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114036
--- Comment #1 from Iain Sandoe <iains at gcc dot gnu.org> --- yeah, there is a better way to do this with ld64 (and presumably dyld-ld), my guess is that this is an anachronism from the ld_classic (v1) days. We can tell the linker it's OK for a symbol to be undefined - and then that makes it behave like the ELF case. "-Wl,-U,_symbol_name " is the incantation to do this - and AFAIK should work back to i686-darwin9 (which is the earliest I test these days).