summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2009-07-28 21:53:17 +0000
committerBill Wendling <isanbard@gmail.com>2009-07-28 21:53:17 +0000
commit403990ad585aa7613317eadf6d4962b0cc85ba59 (patch)
treee8aa52de69b7255f1bc107b6af77321ea9987948 /llvm
parentfb5d83fb10d7a80e77c0da6292c079727f1eefb8 (diff)
downloadbcm5719-llvm-403990ad585aa7613317eadf6d4962b0cc85ba59.tar.gz
bcm5719-llvm-403990ad585aa7613317eadf6d4962b0cc85ba59.zip
Darwin outputs (DW_EH_PE_pcrel | DW_EH_PE_indirect | DW_EH_PE_sdata4) when we're
dealing with Data. llvm-svn: 77372
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/X86/X86TargetAsmInfo.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86TargetAsmInfo.cpp b/llvm/lib/Target/X86/X86TargetAsmInfo.cpp
index b4f503b255c..277c3cbba73 100644
--- a/llvm/lib/Target/X86/X86TargetAsmInfo.cpp
+++ b/llvm/lib/Target/X86/X86TargetAsmInfo.cpp
@@ -94,10 +94,13 @@ X86DarwinTargetAsmInfo::X86DarwinTargetAsmInfo(const X86TargetMachine &TM):
unsigned
X86DarwinTargetAsmInfo::PreferredEHDataFormat(DwarfEncoding::Target Reason,
bool Global) const {
- if (Reason == DwarfEncoding::Functions && Global)
- return (DW_EH_PE_pcrel | DW_EH_PE_indirect | DW_EH_PE_sdata4);
+ 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;
+
return DW_EH_PE_absptr;
}
OpenPOWER on IntegriCloud