diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 5 | ||||
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp index 847825ef3ce..8cb9814300d 100644 --- a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp +++ b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp @@ -1870,7 +1870,10 @@ MCSection *TargetLoweringObjectFileXCOFF::SelectSectionForGlobal( if (Kind.isText()) return TextSection; - if (Kind.isData()) + if (Kind.isData() || Kind.isReadOnlyWithRel()) + // TODO: We may put this under option control, because user may want to + // have read-only data with relocations placed into a read-only section by + // the compiler. return DataSection; // Zero initialized data must be emitted to the .data section because external diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp index f93f1c00e95..0458f5a2548 100644 --- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -1636,8 +1636,7 @@ void PPCAIXAsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) { TargetLoweringObjectFileXCOFF::getStorageClassForGlobal(GV)); SectionKind GVKind = getObjFileLowering().getKindForGlobal(GV, TM); - if ((!GVKind.isCommon() && !GVKind.isBSS() && !GVKind.isData() && - !GVKind.isReadOnly()) || + if ((!GVKind.isGlobalWriteableData() && !GVKind.isReadOnly()) || GVKind.isMergeable2ByteCString() || GVKind.isMergeable4ByteCString()) report_fatal_error("Encountered a global variable kind that is " "not supported yet."); |