Build raise with -fasynchronous-unwind-tables

Joseph Myers joseph@codesourcery.com
Fri Jan 24 02:38:00 GMT 2020


In testing glibc for Arm and MIPS, I see:

FAIL: misc/tst-sigcontext-get_pc

If this test - backtracing through a call to raise - is valid, then
raise needs to be built with -fasynchronous-unwind-tables (as the test
itself is) to have the required unwind information for that
backtracing to work.  Adding that option, which this patch does,
causes the test for pass for Arm.  For MIPS, the test still does not
pass (the backtrace has an address that is 2 bytes after the "address
in signal handler", for unknown reasons), although the patch allows a
longer backtrace to be produced.

diff --git a/signal/Makefile b/signal/Makefile
index 7da67def84..37de438bba 100644
--- a/signal/Makefile
+++ b/signal/Makefile
@@ -52,6 +52,7 @@ tests		:= tst-signal tst-sigset tst-sigsimple tst-raise tst-sigset2 \
 
 include ../Rules
 
+CFLAGS-raise.c += -fasynchronous-unwind-tables
 CFLAGS-sigpause.c += -fexceptions
 CFLAGS-sigsuspend.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sigtimedwait.c += -fexceptions -fasynchronous-unwind-tables

-- 
Joseph S. Myers
joseph@codesourcery.com



More information about the Libc-alpha mailing list