linkonce_odr & coff

I have @_rtti_a_a = linkonce_odr constant in two files that end up as coff object files. Shoudln't the linkonce_odr prevent duplicate symbol: __rtti_a_a \consoleapplication149.o and __rtti_a_a island.lib(island.o) from happening in LLD?

If not what alternative can I use? THis is used for template like generics, so having duplicate functions and globals is going to happen a lot)

(Side note: How do I see linkonce* when dumping object files?)

Use comdats. linkonce_odr no longer implicitly creates comdats on COFF:
if (!Triple.isOSBinFormatMachO())

GV->setComdat(MyModule.getOrInsertComdat(GV->getName()));

I think the same is true for ELF, but linkonce_odr gives things weak linkage in addition to making them comdat.

Use comdats. linkonce_odr no longer implicitly creates comdats on COFF:
  if (!Triple.isOSBinFormatMachO())

David recently added Triple.supportsCOMDAT() which makes the intent a bit
clearer.

-- Sean Silva