[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)