diff options
author | Bill Wendling <isanbard@gmail.com> | 2009-07-28 21:53:17 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2009-07-28 21:53:17 +0000 |
commit | ac3126ebdd7fc8488a4a14aa72b2d95604f2fdf9 (patch) | |
tree | cf9462e7322c8ff7f307ea94a71edff88f075548 /lib/Target | |
parent | 1da5860b041a84744790878d1cd42e0d33afbd12 (diff) | |
download | external_llvm-ac3126ebdd7fc8488a4a14aa72b2d95604f2fdf9.zip external_llvm-ac3126ebdd7fc8488a4a14aa72b2d95604f2fdf9.tar.gz external_llvm-ac3126ebdd7fc8488a4a14aa72b2d95604f2fdf9.tar.bz2 |
Darwin outputs (DW_EH_PE_pcrel | DW_EH_PE_indirect | DW_EH_PE_sdata4) when we're
dealing with Data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77372 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/X86/X86TargetAsmInfo.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp index b4f503b..277c3cb 100644 --- a/lib/Target/X86/X86TargetAsmInfo.cpp +++ b/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; } |