aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/PowerPC/PPCTargetAsmInfo.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/Target/PowerPC/PPCTargetAsmInfo.cpp b/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
index 5ddd120d93..39c8d21bbf 100644
--- a/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
+++ b/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
@@ -41,12 +41,14 @@ PPCDarwinTargetAsmInfo::PPCDarwinTargetAsmInfo(const PPCTargetMachine &TM) :
unsigned
PPCDarwinTargetAsmInfo::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);
- else if (Reason == DwarfEncoding::CodeLabels || !Global)
+ 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;
- else
- return DW_EH_PE_absptr;
+
+ return DW_EH_PE_absptr;
}
const char *PPCDarwinTargetAsmInfo::getEHGlobalPrefix() const {