[Bug c++/56066] g++ generates strong symbols conflicting with C99 extern inline code on Windows
solomon.gibbs.lists at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Jan 24 19:42:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56066
--- Comment #1 from Solomon Gibbs <solomon.gibbs.lists at gmail dot com> 2013-01-24 19:42:15 UTC ---
I'm looking at the objdump -x output for the c++ object and I note that there's
a separate section for the inlined function. It appears to be annotated with a
COMDAT field value of 4. According to skyfree.org/linux/references/coff.pdf a
value of 4 corresponds to IMAGE_COMDAT_SELECT_EXACT_MATCH: "The linker chooses
an arbitrary section among the definitions for this symbol. A multiply defined
symbol error is issued if all definitions don’t match exactly." The C99 symbol
has no COMDAT selection field.
More information about the Gcc-bugs
mailing list