[Bug target/47558] 163267 breaks exception traceback in xplor-nih

iains at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Feb 1 15:26:00 GMT 2011


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.



More information about the Gcc-bugs mailing list