[PATCH] libunwind: Fix unw_step() for ARM EHABI.

Logan Chien tzuhsiang.chien at gmail.com
Sun May 24 10:34:32 PDT 2015


Hi asl, rengolin, danalbert, compnerd,

This commit fixes the unw_step() for ARM EHABI.  However, this commit
also changes the implementation details for ARM EHABI.

The first change is that the personality function should call
__gnu_unwind_frame() for default (or de facto) frame unwinding based on
the ARM-defined unwind opcode.  The function __gnu_unwind_frame() will
in turn calls unw_step() which actually unwinds the frame.

The second change is that the implementation _Unwind_Backtrace() should
no longer calls unw_step() to unwind the frame; since according to ARM
EHABI, the personality function should unwind the frame for us.

Special thanks to Anton for helpful suggestion on the initial version of
this patch.

http://reviews.llvm.org/D9961

Files:
  src/Unwind-EHABI.cpp
  src/UnwindCursor.hpp
  src/UnwindLevel1-gcc-ext.c
  test/libunwind_01.pass.cpp
  test/libunwind_02.pass.cpp

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D9961.26384.patch
Type: text/x-patch
Size: 12493 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150524/2e2df3a5/attachment.bin>


More information about the cfe-commits mailing list