summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2009-07-29 00:59:34 +0000
committerBill Wendling <isanbard@gmail.com>2009-07-29 00:59:34 +0000
commitbef0437d61f321b29a74552db698123c67b5bd18 (patch)
tree972214d66777db72965d35a66b4032ee9dd8c1a9 /llvm/lib/Target/X86
parentdce1e4949e1f630b44203b8a26d229e8693309a9 (diff)
downloadbcm5719-llvm-bef0437d61f321b29a74552db698123c67b5bd18.tar.gz
bcm5719-llvm-bef0437d61f321b29a74552db698123c67b5bd18.zip
Change the "PreferredEHDataFormat" from "absptr" if we're on a Darwin system >
Leopard. llvm-svn: 77414
Diffstat (limited to 'llvm/lib/Target/X86')
-rw-r--r--llvm/lib/Target/X86/X86TargetAsmInfo.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/llvm/lib/Target/X86/X86TargetAsmInfo.cpp b/llvm/lib/Target/X86/X86TargetAsmInfo.cpp
index 277c3cbba73..3223f3cb72f 100644
--- a/llvm/lib/Target/X86/X86TargetAsmInfo.cpp
+++ b/llvm/lib/Target/X86/X86TargetAsmInfo.cpp
@@ -94,12 +94,16 @@ X86DarwinTargetAsmInfo::X86DarwinTargetAsmInfo(const X86TargetMachine &TM):
unsigned
X86DarwinTargetAsmInfo::PreferredEHDataFormat(DwarfEncoding::Target Reason,
bool Global) const {
- if ((Reason == DwarfEncoding::Data || Reason == DwarfEncoding::Functions)
- && Global)
- return DW_EH_PE_pcrel | DW_EH_PE_indirect | DW_EH_PE_sdata4;
+ const X86Subtarget *Subtarget = &TM.getSubtarget<X86Subtarget>();
+
+ if (Subtarget->getDarwinVers() > 9) {
+ if ((Reason == DwarfEncoding::Data || Reason == DwarfEncoding::Functions)
+ && Global)
+ return DW_EH_PE_pcrel | DW_EH_PE_indirect | DW_EH_PE_sdata4;
- if (Reason == DwarfEncoding::CodeLabels || !Global)
- return DW_EH_PE_pcrel;
+ if (Reason == DwarfEncoding::CodeLabels || !Global)
+ return DW_EH_PE_pcrel;
+ }
return DW_EH_PE_absptr;
}
OpenPOWER on IntegriCloud