aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Target/TargetLoweringObjectFile.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-09-27 06:44:54 +0000
committerChris Lattner <sabre@nondot.org>2010-09-27 06:44:54 +0000
commit82f9a8eae4cb689b5fe40faf35c16279164e2fdb (patch)
tree03350ad707d9846e22644ad2d9d9b0b2a2209f91 /include/llvm/Target/TargetLoweringObjectFile.h
parenteab622a058aa0b31d58b3047a6ea45bdaf64ea3f (diff)
downloadexternal_llvm-82f9a8eae4cb689b5fe40faf35c16279164e2fdb.zip
external_llvm-82f9a8eae4cb689b5fe40faf35c16279164e2fdb.tar.gz
external_llvm-82f9a8eae4cb689b5fe40faf35c16279164e2fdb.tar.bz2
the latest assembler that runs on powerpc 10.4 machines doesn't
support aligned comm. Detect when compiling for 10.4 and don't emit an alignment for comm. THis will hopefully fix PR8198. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114817 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target/TargetLoweringObjectFile.h')
-rw-r--r--include/llvm/Target/TargetLoweringObjectFile.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetLoweringObjectFile.h b/include/llvm/Target/TargetLoweringObjectFile.h
index 819709f..5456dd0 100644
--- a/include/llvm/Target/TargetLoweringObjectFile.h
+++ b/include/llvm/Target/TargetLoweringObjectFile.h
@@ -92,6 +92,11 @@ protected:
// information for a TLS variable, it'll go here.
const MCSection *TLSExtraDataSection;
+ /// CommDirectiveSupportsAlignment - True if .comm supports alignment. This
+ /// is a hack for as long as we support 10.4 Tiger, whose assembler doesn't
+ /// support alignment on comm.
+ bool CommDirectiveSupportsAlignment;
+
/// SupportsWeakEmptyEHFrame - True if target object file supports a
/// weak_definition of constant 0 for an omitted EH frame.
bool SupportsWeakOmittedEHFrame;
@@ -128,6 +133,10 @@ public:
return SupportsWeakOmittedEHFrame;
}
+ bool getCommDirectiveSupportsAlignment() const {
+ return CommDirectiveSupportsAlignment;
+ }
+
const MCSection *getTextSection() const { return TextSection; }
const MCSection *getDataSection() const { return DataSection; }
const MCSection *getBSSSection() const { return BSSSection; }