http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47558
--- Comment #16 from Iain Sandoe <iains at gcc dot gnu.org> 2011-02-01 15:26:15
UTC ---
(In reply to comment #15)
> Perhaps r163267 is fragile to certain combination of linker flags (like
> -flat_namespace)?
"fragile" LOL...
man ld:
-flat_namespace
Alters how symbols are resolved at build time and runtime.
With -two_levelnamespace (the default), the linker only searches
dylibs on the command line for symbols, and records in which
dylib they were found. With -flat_namespace, the linker searches
all dylibs on the command line and all dylibs those original
dylibs depend on. The linker does not record which dylib an
external symbol came from, so at runtime dyld again searches
all images and uses the first definition it finds. In addition,
any undefines in loaded flat_namespace dylibs must be
resolvable at build time.
-- you are defeating the mechanism that is used to supply the _ext symbols
from a different library.
If use if this flag is, actually, necessary then we need to alter the whole
mechanism for the _ext to build a distinctly named lib.