]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/patches/patch-24-llvm-r213890-ppc-eh_frame.diff
Upgrade our copy of clang and llvm to 3.5.1 release. This is a bugfix
[FreeBSD/FreeBSD.git] / contrib / llvm / patches / patch-24-llvm-r213890-ppc-eh_frame.diff
1 Pull in r213890 from upstream llvm trunk (by Jörg Sonnenberger):
2
3   Use the same .eh_frame encoding for 32bit PPC as on i386.
4
5 This fixes DT_TEXTREL errors when linking C++ objects using exceptions
6 on PowerPC.
7
8 Introduced here: http://svnweb.freebsd.org/changeset/base/276300
9
10 Index: lib/MC/MCObjectFileInfo.cpp
11 ===================================================================
12 --- lib/MC/MCObjectFileInfo.cpp
13 +++ lib/MC/MCObjectFileInfo.cpp
14 @@ -287,6 +287,7 @@ void MCObjectFileInfo::InitELFMCObjectFileInfo(Tri
15      if (Ctx->getAsmInfo()->getExceptionHandlingType() == ExceptionHandling::ARM)
16        break;
17      // Fallthrough if not using EHABI
18 +  case Triple::ppc:
19    case Triple::x86:
20      PersonalityEncoding = (RelocM == Reloc::PIC_)
21       ? dwarf::DW_EH_PE_indirect | dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4