aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/PowerPC/PPCTargetObjectFile.h
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2010-03-12 02:00:43 +0000
committerBill Wendling <isanbard@gmail.com>2010-03-12 02:00:43 +0000
commitdd3fe94336ef3804a255c2f48db67abb824f812d (patch)
tree251925a4b9d9ef6d01888e9672345f64955d5550 /llvm/lib/Target/PowerPC/PPCTargetObjectFile.h
parent47bef1a8a2f5ef13fe97f6da3058d0704e83e1b7 (diff)
downloadllvm-dd3fe94336ef3804a255c2f48db67abb824f812d.zip
llvm-dd3fe94336ef3804a255c2f48db67abb824f812d.tar.gz
llvm-dd3fe94336ef3804a255c2f48db67abb824f812d.tar.bz2
The same situation that effected ARM effects PPC with regards to placing the
LSDA into the TEXT section. We need to generate non-lazy pointers to it on Mach-O. However, the object the NLP points to may be local to the translation unit. If so, then the NLP needs to have the value of that object specified instead of "0", which the linker interprets as "external". llvm-svn: 98325
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCTargetObjectFile.h')
-rw-r--r--llvm/lib/Target/PowerPC/PPCTargetObjectFile.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCTargetObjectFile.h b/llvm/lib/Target/PowerPC/PPCTargetObjectFile.h
new file mode 100644
index 0000000..2d40bc9
--- /dev/null
+++ b/llvm/lib/Target/PowerPC/PPCTargetObjectFile.h
@@ -0,0 +1,34 @@
+//===-- llvm/Target/PPCTargetObjectFile.h - PowerPC Object Info -*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_TARGET_PPC_TARGETOBJECTFILE_H
+#define LLVM_TARGET_PPC_TARGETOBJECTFILE_H
+
+#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
+
+namespace llvm {
+
+class MCContext;
+class TargetMachine;
+
+// FIXME: This subclass isn't 100% necessary. It will become obsolete once we
+// can place all LSDAs into the TEXT section. See
+// <rdar://problem/6804645>.
+class PPCMachOTargetObjectFile : public TargetLoweringObjectFileMachO {
+public:
+ PPCMachOTargetObjectFile() : TargetLoweringObjectFileMachO() {}
+
+ virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
+
+ virtual unsigned getTTypeEncoding() const;
+};
+
+} // end namespace llvm
+
+#endif