[MC] Add a separate flag for skipping comdat constant sections for MinGW. NFC.

This actually has nothing to do with the associative comdat sections
that aren't supported by GNU binutils ld.

Clarify the comments from SVN r335918 and use a separate flag for it.

Differential Revision: https://reviews.llvm.org/D49645

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337757 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Martin Storsjo
2018-07-23 22:15:25 +00:00
parent c819c64d03
commit ae3e2f0243
3 changed files with 18 additions and 3 deletions
+5 -3
View File
@@ -1397,9 +1397,11 @@ MCSection *TargetLoweringObjectFileCOFF::getSectionForConstant(
const DataLayout &DL, SectionKind Kind, const Constant *C,
unsigned &Align) const {
if (Kind.isMergeableConst() && C &&
getContext().getAsmInfo()->hasCOFFAssociativeComdats()) {
// GNU binutils doesn't support the kind of symbol with a null
// storage class that this generates.
getContext().getAsmInfo()->hasCOFFComdatConstants()) {
// This creates comdat sections with the given symbol name, but unless
// AsmPrinter::GetCPISymbol actually makes the symbol global, the symbol
// will be created with a null storage class, which makes GNU binutils
// error out.
const unsigned Characteristics = COFF::IMAGE_SCN_CNT_INITIALIZED_DATA |
COFF::IMAGE_SCN_MEM_READ |
COFF::IMAGE_SCN_LNK_COMDAT;