This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/56066] g++ generates strong symbols conflicting with C99 extern inline code on Windows


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]