Darwin outputs (DW_EH_PE_pcrel | DW_EH_PE_indirect | DW_EH_PE_sdata4) when we're
authorBill Wendling <isanbard@gmail.com>
Tue, 28 Jul 2009 21:53:17 +0000 (21:53 +0000)
committerBill Wendling <isanbard@gmail.com>
Tue, 28 Jul 2009 21:53:17 +0000 (21:53 +0000)
dealing with Data.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77372 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86TargetAsmInfo.cpp

index b4f503b255ca11eb1d8a8e4af4d031c221af27d9..277c3cbba7367b77c5d7fb785852f2e1b378feea 100644 (file)
@@ -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;
 }