[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>
diff --git a/tests/Android.mk b/tests/Android.mk
index f61f175..c0345e4 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -91,6 +91,7 @@
semaphore_test.cpp \
signal_test.cpp \
stack_protector_test.cpp \
+ stack_unwinding_test.cpp \
stdatomic_test.cpp \
stdint_test.cpp \
stdio_test.cpp \
@@ -234,8 +235,6 @@
atexit_test.cpp \
dlext_test.cpp \
dlfcn_test.cpp \
- stack_unwinding_test.cpp \
- stack_unwinding_test_impl.c \
bionic-unit-tests_cflags := $(test_cflags)