2706ca232c0966b508003043f6a327ac8461e920 |
|
09-May-2015 |
Christopher Ferris <cferris@google.com> |
Add check for same ip/cfa. Make sure that all of our supported architectures stop when the ip/cfa does not change. Bug: 20955299 Change-Id: Ic023c71439208ee5ef21efa0298ab7ed1ad03c00
/external/libunwind/src/arm/Gstep.c
|
7e10fa72f0d9e6160b917a62d9d91a87c9b47ffb |
|
22-May-2014 |
Elliott Hughes <enh@google.com> |
Fix building libunwind with debug := true. Change-Id: I1d72e942f6d28c34e08cdef133111307670bef2c
/external/libunwind/src/arm/Gstep.c
|
d1c383c5bb03420decf5cf789cf14ab144b0720d |
|
10-Apr-2014 |
Christopher Ferris <cferris@google.com> |
Fix all warnings, and make warnings errors. Change-Id: Ia2039922b55891551b1de0f0c281c266db6ee219
/external/libunwind/src/arm/Gstep.c
|
7d46a21e0a2cb561e4cad57b101a7137e01023dc |
|
14-Nov-2013 |
Christopher Ferris <cferris@google.com> |
For current process, check memory accesses. When attempting to unwind the current process, the library simple reads and writes to memory for memory accesses. Unfortunately, if an unwind winds up with invalid data, then the process can segfault. Add a guard to all memory accesses that verifies that reads/writes are valid before attempting them. For now, this guard is a nop on all systems except linux systems. Also, modify the adjust_ip function to use the access_mem function so that all reads go through the right function. Bug: 11652982 Change-Id: I9d1feacae585374f6bf1d899f8a006ec9ecb47c4
/external/libunwind/src/arm/Gstep.c
|
efb75a0b84fed700173700a2e4fee153ba491b32 |
|
01-Oct-2013 |
Christopher Ferris <cferris@google.com> |
Update external/libunwind to build in android. Bug: 8410085 Change-Id: Ideb46602d1e1cf2df5f858ef11d498055c02b969
/external/libunwind/src/arm/Gstep.c
|
2aea391d6a575636c435e0dc3d0f8d73ad546c62 |
|
31-Aug-2012 |
Tommi Rantala <tt.rantala@gmail.com> |
ARM: invalidate proc info after non-dwarf unw_step() After successfully stepping the cursor on ARM, the proc info is invalidated only in dwarf_step(). Invalidate the proc info also when stepping with the non-dwarf based methods. This fixes unw_get_proc_info() returning stale data. The core dump unwinder can be used for demonstrating the bug. When unwinding based only on DWARF data, the proc info is correct: $ UNW_ARM_UNWIND_METHOD=1 ./test-coredump-unwind core `cat backing_files` 2>/dev/null ip=0x000086d8 proc=000086d4-000086dc handler=0x00000000 lsda=0x00000000 ip=0x000086ef proc=000086dc-000086f2 handler=0x00000000 lsda=0x00000000 ip=0x000086e7 proc=000086dc-000086f2 handler=0x00000000 lsda=0x00000000 ip=0x00008597 proc=00008584-0000859a handler=0x00000000 lsda=0x00000000 ip=0x76e3ac3b proc=76e3aba0-76e3acec handler=0x00000000 lsda=0x00000000 When unwinding based only on the exidx method, we see the proc info lagging behind: $ UNW_ARM_UNWIND_METHOD=4 ./test-coredump-unwind core `cat backing_files` 2>/dev/null ip=0x000086d8 proc=000086d4-000086db handler=0x00000000 lsda=0x00000000 ip=0x000086ef proc=000086d4-000086db handler=0x00000000 lsda=0x00000000 ip=0x000086e7 proc=000086dc-000086f3 handler=0x00000000 lsda=0x00000000 ip=0x00008597 proc=000086dc-000086f3 handler=0x00000000 lsda=0x00000000 ip=0x76e3ac3b proc=00008584-0000859b handler=0x00000000 lsda=0x00000000 ip=0x000085c3 proc=76e3aba0-76e3ae4b handler=0x00000000 lsda=0x00000000 Finally, with this patch applied, we get the desired proc info also with the exidx unwinder: $ UNW_ARM_UNWIND_METHOD=4 ./test-coredump-unwind core `cat backing_files` 2>/dev/null ip=0x000086d8 proc=000086d4-000086db handler=0x00000000 lsda=0x00000000 ip=0x000086ef proc=000086dc-000086f3 handler=0x00000000 lsda=0x00000000 ip=0x000086e7 proc=000086dc-000086f3 handler=0x00000000 lsda=0x00000000 ip=0x00008597 proc=00008584-0000859b handler=0x00000000 lsda=0x00000000 ip=0x76e3ac3b proc=76e3aba0-76e3ae4b handler=0x00000000 lsda=0x00000000 ip=0x000085c3 proc=0000859c-00008613 handler=0x00000000 lsda=0x00000000
/external/libunwind/src/arm/Gstep.c
|
5738bac1717a0b315c5181400a3de1873e012df7 |
|
10-Aug-2012 |
Tommi Rantala <tt.rantala@gmail.com> |
ARM: fix with-signal-frame local unw_resume() Make sure that the `sigcontext_addr' cursor member is pointing to the `struct sigcontext' as expected in arm_local_resume().
/external/libunwind/src/arm/Gstep.c
|
d84e5d5d2485b7c37bdf31794c77ed000f34faf5 |
|
18-Nov-2011 |
Ken Werner <ken.werner@linaro.org> |
Call dwarf_step only if CONFIG_DEBUG_FRAME is defined The ARM EABI does not use the .eh_frame and .eh_frame_hdr sections for unwinding. Therefore it doesn't make sense to call dwarf_step if CONFIG_DEBUG_FRAME is not defined.
/external/libunwind/src/arm/Gstep.c
|
912db91b053a86092515caff4ed8e2447864c8cb |
|
29-Aug-2011 |
Ken Werner <ken.werner@linaro.org> |
ARM: Exit unw_step in case DWARF based unwinding was successful Prevents unw_step from trying to unwind the stack using the ARM specific unwind tables in case the DWARF based unwinding was successful. Signed-off-by: Ken Werner <ken.werner@linaro.org>
/external/libunwind/src/arm/Gstep.c
|
112c927371b8253040a38da697372a3fd67ad520 |
|
17-Aug-2011 |
Ken Werner <ken.werner@linaro.org> |
ARM: Ensure unw_step returns whatever find_proc_info() returns This allows the test-proc-info test case to pass on ARM. Signed-off-by: Ken Werner <ken.werner@linaro.org>
/external/libunwind/src/arm/Gstep.c
|
d83846f120596ea60f74816947deceb93d0a8944 |
|
20-Jul-2011 |
Ken Werner <ken.werner@linaro.org> |
ARM: Initial support for remote unwinding using libunwind-ptrace Change _UPTi_find_unwind_table to also look for the ARM specific unwind information. Adjust the ARM unwind code to read memory using the accessor routines. Signed-off-by: Ken Werner <ken.werner@linaro.org>
/external/libunwind/src/arm/Gstep.c
|
545023c2072975c6b85a09d5faf2cf05db10e064 |
|
14-Jul-2011 |
Ken Werner <ken.werner@linaro.org> |
Rework the lookup of the ARM specific unwind info Implement routines for finding the proc_info and searching the unwind table for the ARM backend. Signed-off-by: Ken Werner <ken.werner@linaro.org>
/external/libunwind/src/arm/Gstep.c
|
25f6b8295d0427746e2a760bb17e63c0461e47f2 |
|
06-Jul-2011 |
Ken Werner <ken.werner@linaro.org> |
Change address type from void* to unw_word_t. Signed-off-by: Ken Werner <ken.werner@linaro.org>
/external/libunwind/src/arm/Gstep.c
|
36511d3d1f040bbf778094e907725ad0617326c8 |
|
21-Apr-2011 |
Ken Werner <ken.werner@linaro.org> |
Add support for handling signal frames on ARM Linux. This patch add support for resuming at a certain stack frame even if signal frames are involved. For restoring the registers the trampoline (sigreturn) is used. RT and non-RT signal frames are handled for both >=2.6.18 and <2.6.18 kernels. Signed-off-by: Ken Werner <ken.werner@linaro.org>
/external/libunwind/src/arm/Gstep.c
|
fd21d07fe422aacea422a8942ac2cc3f363f0fce |
|
01-Apr-2011 |
Ken Werner <ken.werner@linaro.org> |
Create a generic and local variant of the extbl parser. In order to have the DWARF_* macros working properly a generic and a local variant of the ex_tables.c have been created. Signed-off-by: Ken Werner <ken.werner@linaro.org>
/external/libunwind/src/arm/Gstep.c
|
dcb8d0d90f74d8478c35ec5fee098e4348154818 |
|
23-Mar-2011 |
Ken Werner <ken.werner@linaro.org> |
Prefer to unwind using DWARF info on ARM. DWARF expressions are more powerful than the ARM specific unwind tables. Therefore DWARF should be the preferred unwind method. Signed-off-by: Ken Werner <ken.werner@linaro.org>
/external/libunwind/src/arm/Gstep.c
|
cf8d5e41af582b9070576889dcc479397a19bf48 |
|
23-Mar-2011 |
Ken Werner <ken.werner@linaro.org> |
Have the ARM extbtl-parser operate on the DWARF model directly. This eliminates the arm_stackframe and therefore the need to synchronize the two models. It also clears the way for unwinding call stacks with mixed DWARF- and extbl-frames. Signed-off-by: Ken Werner <ken.werner@linaro.org>
/external/libunwind/src/arm/Gstep.c
|
6a671546741e8355dd9f821f171e4a3c895d28ec |
|
15-Mar-2011 |
Zachary T Welch <zwelch@codesourcery.com> |
Use ARM-specific unwinding tables in unw_step Uses ex_tables routines to provide a new means of unwinding the stack. Set UNW_ARM_UNWIND_METHOD=4 to use ARM-specific unwinding tables. Signed-off-by: Ken Werner <ken.werner@linaro.org>
/external/libunwind/src/arm/Gstep.c
|
00aed9631b112d7aa7adc98054b62549cfc857da |
|
27-May-2010 |
Arun Sharma <arun@sharma-home.net> |
Add an experimental and optional frame chain unwinding for ARM The environment variable UNW_ARM_UNWIND_METHOD controls the unwind method. 1 - debug_frame unwinding 2 - frame chain unwinding, 3 - 1 & 2 (default)) Signed-off-by: Andris Zeila <andris.zeila@accenture.com>
/external/libunwind/src/arm/Gstep.c
|
3842dac7333e42aa44531eda34ba55200b99ccf8 |
|
05-Feb-2008 |
Daniel Jacobowitz <drow@false.org> |
Add initial ARM and MIPS support. To support this, also enable the reading of .debug_frame sections (used in lieu of .eh_frame sections when they're not available).
/external/libunwind/src/arm/Gstep.c
|