22 lines
829 B
Diff
22 lines
829 B
Diff
|
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
|