HomePhabricator

Merging r360861, with an additional change to also add the PPC64_OPD1 and…

Authored by dim on Jul 9 2019, 12:22 PM.

Description

Merging r360861, with an additional change to also add the PPC64_OPD1 and PPC64_OPD2 lines to the DEFINE_LIBUNWIND_PRIVATE_FUNCTION() macro, which was removed in r357640:


r360861 | mstorsjo | 2019-05-15 23:49:13 -0700 (Wed, 15 May 2019) | 13 lines

[PPC64][libunwind] Fix r2 not properly restored

This change makes each unwind step inspect the instruction at the
return address and, if needed, read r2 from its saved location and
modify the context appropriately.

The unwind logic is able to handle both ELFv1 and ELFv2 stacks.

Reported by Bug 41050

Patch by Leandro Lupori!

Differential Revision: https://reviews.llvm.org/D59694

llvm-svn: 365542

Details

Committed
dimJul 9 2019, 12:22 PM
Differential Revision
D59694: [PPC64][libunwind] Fix r2 not properly restored
Parents
rG635f8ffdbd7b: Revert merge of r360861:
Branches
Unknown
Tags
Unknown
References
llvmorg-8.0.1-rc4, llvmorg-8.0.1