History log of /external/libunwind/src/aarch64/Gstep.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a28476c5d26dc8a4b617dbe70608a26e49fc9345 11-Jan-2016 Christopher Ferris <cferris@google.com> Fix bug where a failure becomes success on x86.

In libunwind, the unw_step function on x86, an error can get changed
into a success. This meant illegal frames were added that didn't really
exist. Even worse, this could cause crashes because these completely
garbage ip addresses were used to try and get another stack frame. This
lead to attempts to access illegal data, and if you get unlucky and the
map for the bad data was valid at one point, and invalid at the point
of unwind, you get a crash.

There is a small similar possibility of a stop unwind becoming a continue
on aarch64.

Bug: 26248094

(cherry picked from commit c60f22c30ebf16ee4ab990994535f972f349e00e)

Change-Id: I9ef0364d0494791c4866fa82af4ca8930c452bd0
/external/libunwind/src/aarch64/Gstep.c
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/aarch64/Gstep.c
4868ff1ab2b82a52a1abb48bcf6dcbf795d3c4db 27-Oct-2014 Christopher Ferris <cferris@google.com> Fix aarch64 handling of error code.

In the is_signal_frame call, there is an error return path that can
return a non-zero value. Unfortunately, only zero is considered an
error, so this causes the frame to be handled incorrectly.

Once this was fixed, I also modified the code so that if the treating
the unwind as in a signal frame fails, we can fall back and try a couple
of different paths.

It turns out this is_signal_frame check was broken on arm too.

Bug: 18100846

(cherry picked from commit 23c6aa9a54d0a220fb2557197c555b2684c93876)

Change-Id: I0ec1fac82ee76dec447fdccdae4207dd1b8ccf6d
/external/libunwind/src/aarch64/Gstep.c
60c0e104182996ce3739e3377d1f8f3f706853ca 09-Jun-2014 Christopher Ferris <cferris@google.com> Fix ip adjust on aarch64.

I didn't add the ip adjust when aarch64 support was added. This meant that
the ip pointed to the wrong instruction when doing unwinds.

Change-Id: Ie60322b1bd0f4dae95852cc93d163b850595b0b5
/external/libunwind/src/aarch64/Gstep.c
ac6c0a6535975f1dc2da6e4e2766614baac2a14a 11-May-2013 Yvan Roux <yvan.roux@linaro.org> [PATCH] AArch64 port.
/external/libunwind/src/aarch64/Gstep.c