untangle a TargetAsmInfo hack where ELFTargetAsmInfo would create a
'unnamed' bss section, but some impls would want a named one. Since
they don't have consistent behavior, just make each target do their
own thing, instead of doing something "sortof common" then having
targets change immutable objects later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77165 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/MSP430/MSP430TargetAsmInfo.cpp b/lib/Target/MSP430/MSP430TargetAsmInfo.cpp
index ab181de..12ae552 100644
--- a/lib/Target/MSP430/MSP430TargetAsmInfo.cpp
+++ b/lib/Target/MSP430/MSP430TargetAsmInfo.cpp
@@ -12,11 +12,12 @@
//===----------------------------------------------------------------------===//
#include "MSP430TargetAsmInfo.h"
-#include "MSP430TargetMachine.h"
-
using namespace llvm;
-MSP430TargetAsmInfo::MSP430TargetAsmInfo(const MSP430TargetMachine &TM)
+MSP430TargetAsmInfo::MSP430TargetAsmInfo(const TargetMachine &TM)
: ELFTargetAsmInfo(TM) {
AlignmentIsInBytes = false;
+
+ BSSSection_ = getUnnamedSection("\t.bss",
+ SectionFlags::Writable | SectionFlags::BSS);
}
diff --git a/lib/Target/MSP430/MSP430TargetAsmInfo.h b/lib/Target/MSP430/MSP430TargetAsmInfo.h
index b58d5c9..93ed04f 100644
--- a/lib/Target/MSP430/MSP430TargetAsmInfo.h
+++ b/lib/Target/MSP430/MSP430TargetAsmInfo.h
@@ -14,16 +14,11 @@
#ifndef MSP430TARGETASMINFO_H
#define MSP430TARGETASMINFO_H
-#include "llvm/Target/TargetAsmInfo.h"
#include "llvm/Target/ELFTargetAsmInfo.h"
namespace llvm {
-
- // Forward declaration.
- class MSP430TargetMachine;
-
struct MSP430TargetAsmInfo : public ELFTargetAsmInfo {
- explicit MSP430TargetAsmInfo(const MSP430TargetMachine &TM);
+ explicit MSP430TargetAsmInfo(const TargetMachine &TM);
};
} // namespace llvm