summaryrefslogtreecommitdiffstats
path: root/libunwind/test/libunwind_01.pass.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [libunwind] Adjust libunwind_01.pass.cpp test for ARM EHABIJohn Brawn2019-10-031-1/+1
| | | | | | | | | | | | ARM EHABI unwinding tables only store the start address of each function, so the last function is assumed to cover the entire address space after it. The test picks an address on the stack assuming that it's in no function, but because of the above it's actually resolved to the last function. Fix this by using address 0 instead. Differential Revision: https://reviews.llvm.org/D68387 llvm-svn: 373628
* Unwind: prevent unw_get_proc_info from returning stale dataSaleem Abdulrasool2019-09-201-0/+21
| | | | | | | | | | | | If unwind info is not available at the current IP, unw_get_proc_info should return a zero-filled structure rather than the info of the previous IP. This change also makes unw_get_proc_info return UNW_ENOINFO instead of UNW_ESUCCESS. Patch by Amanieu d'Antras! llvm-svn: 372407
* libunwind: Fix unw_step() for ARM EHABI.Logan Chien2015-05-291-0/+42
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. llvm-svn: 238560
OpenPOWER on IntegriCloud