if (getCharacteristics() & MCSectionCOFF::IMAGE_SCN_LNK_COMDAT) {
switch (Selection) {
- default:
- assert (0 && "unsupported COFF selection type");
- break;
case IMAGE_COMDAT_SELECT_NODUPLICATES:
OS << "\t.linkonce one_only\n";
break;
case IMAGE_COMDAT_SELECT_EXACT_MATCH:
OS << "\t.linkonce same_contents\n";
break;
- // ".linkonce largest" is not documented as being an option.
- // It seems odd that a link attribute designed essentially for PE/COFF
- // wouldn't support all the options (at least as of binutils 2.20)
- //case IMAGE_COMDAT_SELECT_LARGEST:
+ //NOTE: as of binutils 2.20, there is no way to specifiy select largest
+ // with the .linkonce directive. For now, we treat it as an invalid
+ // comdat selection value.
+ case IMAGE_COMDAT_SELECT_LARGEST:
// OS << "\t.linkonce largest\n";
// break;
+ default:
+ assert (0 && "unsupported COFF selection type");
+ break;
}
}
}