author | Pavel Chupin <pavel.v.chupin@intel.com> | |
Fri, 26 Sep 2014 12:02:09 +0000 (16:02 +0400) | ||
committer | Elliott Hughes <enh@google.com> | |
Mon, 27 Oct 2014 23:14:55 +0000 (16:14 -0700) | ||
commit | 50321e2e66f19998970e59d666bc9af387345b3a | |
tree | 32f70c79741c7fbe2ce68ce36e9d0907cba26d95 | tree | snapshot (tar.xz tar.gz zip) |
parent | ec58e29b276b0f98eb624430fb70703dc32057bf | commit | diff |
[x86,x86_64] Fix libgcc unwinding through signal
This change provides __restore/__restore_rt on x86 and __restore_rt on
x86_64 with unwinding information to be able to unwind through signal
frame via libgcc provided unwinding interface. See comments inlined for
more details.
Also remove the test that had a dependency on
__attribute__((cleanup(foo_cleanup))). It doesn't provide us with any
better test coverage than we have from the newer tests, and it doesn't
work well across a variety architectures (presumably because no one uses
this attribute in the real world).
Tested this on host via bionic-unit-tests-run-on-host on both x86 and
x86-64.
Bug: 17436734
Change-Id: I2f06814e82c8faa732cb4f5648868dc0fd2e5fe4
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
This change provides __restore/__restore_rt on x86 and __restore_rt on
x86_64 with unwinding information to be able to unwind through signal
frame via libgcc provided unwinding interface. See comments inlined for
more details.
Also remove the test that had a dependency on
__attribute__((cleanup(foo_cleanup))). It doesn't provide us with any
better test coverage than we have from the newer tests, and it doesn't
work well across a variety architectures (presumably because no one uses
this attribute in the real world).
Tested this on host via bionic-unit-tests-run-on-host on both x86 and
x86-64.
Bug: 17436734
Change-Id: I2f06814e82c8faa732cb4f5648868dc0fd2e5fe4
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
libc/arch-x86/bionic/__restore.S | diff | blob | history | |
libc/arch-x86/bionic/__restore_rt.S | [deleted file] | blob | history |
libc/arch-x86/x86.mk | diff | blob | history | |
libc/arch-x86_64/bionic/__restore_rt.S | diff | blob | history | |
tests/Android.mk | diff | blob | history | |
tests/ScopedSignalHandler.h | diff | blob | history | |
tests/stack_unwinding_test.cpp | diff | blob | history | |
tests/stack_unwinding_test_impl.c | [deleted file] | blob | history |