Pull in r213890 from upstream llvm trunk (by Jörg Sonnenberger): Use the same .eh_frame encoding for 32bit PPC as on i386. This fixes DT_TEXTREL errors when linking C++ objects using exceptions on PowerPC. Introduced here: http://svnweb.freebsd.org/changeset/base/276300 Index: lib/MC/MCObjectFileInfo.cpp =================================================================== --- lib/MC/MCObjectFileInfo.cpp +++ lib/MC/MCObjectFileInfo.cpp @@ -287,6 +287,7 @@ void MCObjectFileInfo::InitELFMCObjectFileInfo(Tri if (Ctx->getAsmInfo()->getExceptionHandlingType() == ExceptionHandling::ARM) break; // Fallthrough if not using EHABI + case Triple::ppc: case Triple::x86: PersonalityEncoding = (RelocM == Reloc::PIC_) ? dwarf::DW_EH_PE_indirect | dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4