1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-22 07:37:38 +01:00
libunwind-eh_elf/tests
Dave Watson 29483327be x86_64: Use sigprocmask from signal frames
Currently setcontext for x86_64 restores the signal mask, even
though it is never saved anywhere.  This means the signal mask
is often garbage after an unw_resume.

(changed in commit f8a15e9679)

It looks like this was a fix for the Gtest-resume-sig function -
testing if signal masks are restored across signal frames.  The
root issue looks like that x86_64 only uses sigreturn for the exact
signal frame, and not for any decedant frames as well (as i64 does).

Instead, modify Gresume to use sigreturn if *any* frame on the stack
is a signal frame, so that we correct fixup the signal mask and any
sigaltstacks.  The sigreturn os-specific functions are changed slightly
to copy in the saved ucontext structure if we are jumping farther
up the stack.

This should fix sigprocmask reported issues such as
https://github.com/dropbox/pyston/blob/master/libunwind_patches/0002-pyston-stop-x86_64-setcontext-restoring-uninitialize.patch

Tests pass on freebsd, linux
2017-01-13 08:28:22 -08:00
..
check-namespace.sh.in Add TileGx platform support to libunwind. 2014-09-08 16:21:53 -04:00
crasher.c Plug in `ALIAS' attribute 2012-09-28 14:51:21 +03:00
flush-cache.h Check __builtin___clear_cache() at configuration time 2012-09-04 13:26:13 +03:00
flush-cache.S Add TileGx platform support to libunwind. 2014-09-08 16:21:53 -04:00
forker.c Bring git v0.98.5 tree in sync with released v0.98.5. 2006-07-25 21:32:28 -06:00
Gia64-test-nat.c Use shared `ARRAY_SIZE' in IA64 tests 2012-09-28 14:51:21 +03:00
Gia64-test-rbs.c Use shared `ARRAY_SIZE' in IA64 tests 2012-09-28 14:51:21 +03:00
Gia64-test-readonly.c Make libunwind compile with recent versions of GAS. 2006-07-25 21:34:32 -06:00
Gia64-test-stack.c Avoid -Wunused-value warning in tests/Gia64-test-stack.c 2012-09-28 14:06:07 +03:00
Gperf-simple.c Define and use `NOINLINE' 2012-09-28 14:51:19 +03:00
Gperf-trace.c Define and use `NOINLINE' 2012-09-28 14:51:19 +03:00
Gtest-bt.c Use `UNUSED' in tests 2012-09-28 14:51:21 +03:00
Gtest-concurrent.c Use `UNUSED' in tests 2012-09-28 14:51:21 +03:00
Gtest-dyn1.c Use `UNUSED' in tests 2012-09-28 14:51:21 +03:00
Gtest-exc.c Avoid -Wunused-value warning in tests/Gtest-exc.c 2012-08-21 22:33:56 +03:00
Gtest-init.cxx Use `UNUSED' in tests 2012-09-28 14:51:21 +03:00
Gtest-nomalloc.c Replace empty argument lists with `void' in tests 2012-09-28 14:51:22 +03:00
Gtest-resume-sig-rt.c test-resume-sig-rt: test unw_resume() in presence of "realtime" signal frame 2012-08-21 22:33:56 +03:00
Gtest-resume-sig.c x86_64: Use sigprocmask from signal frames 2017-01-13 08:28:22 -08:00
Gtest-trace.c tests/Gtest-trace.c: show differing addresses 2015-03-22 00:05:14 -07:00
ia64-dyn-asm.S Mark Wielaard <mwielaard@redhat.com> writes: 2007-10-01 08:35:01 -06:00
ia64-test-dyn1.c Check __builtin___clear_cache() at configuration time 2012-09-04 13:26:13 +03:00
ia64-test-nat-asm.S Mark Wielaard <mwielaard@redhat.com> writes: 2007-10-01 08:35:01 -06:00
ia64-test-rbs-asm.S Mark Wielaard <mwielaard@redhat.com> writes: 2007-10-01 08:35:01 -06:00
ia64-test-rbs.h (Logical change 1.47) 2003-02-14 06:25:36 +00:00
ia64-test-readonly-asm.S Mark Wielaard <mwielaard@redhat.com> writes: 2007-10-01 08:35:01 -06:00
ia64-test-setjmp.c Workaround volatileness warning in tests/ia64-test-setjmp.c 2012-09-28 14:06:07 +03:00
ia64-test-sig.c Fix up a little so it's silent by default. 2004-08-31 13:59:10 +00:00
ia64-test-stack-asm.S Mark Wielaard <mwielaard@redhat.com> writes: 2007-10-01 08:35:01 -06:00
ia64-test-stack.h Bring git v0.98.5 tree in sync with released v0.98.5. 2006-07-25 21:32:28 -06:00
ident.c (Logical change 1.276) 2004-10-15 13:48:38 +00:00
Lia64-test-nat.c Regenerate. 2004-05-04 22:19:18 +00:00
Lia64-test-rbs.c Regenerate. 2004-05-04 22:19:18 +00:00
Lia64-test-readonly.c (Logical change 1.231) 2004-05-06 20:26:29 +00:00
Lia64-test-stack.c Regenerate. 2004-05-04 22:19:18 +00:00
Lperf-simple.c Revert "sys/types.h" 2010-03-08 00:20:23 +02:00
Lperf-trace.c Add some performance tests for fast backtracing. 2011-03-25 00:20:46 -07:00
Lrs-race.c Replace empty argument lists with `void' in tests 2012-09-28 14:51:22 +03:00
Ltest-bt.c (Logical change 1.270) 2004-09-15 11:37:04 +00:00
Ltest-concurrent.c Regenerate. 2004-05-04 22:19:18 +00:00
Ltest-cxx-exceptions.cxx Default to non-verbose mode in Ltest-cxx-exceptions 2012-09-28 14:06:07 +03:00
Ltest-dyn1.c Regenerate. 2004-05-04 22:19:18 +00:00
Ltest-exc.c Regenerate. 2004-05-04 22:19:18 +00:00
Ltest-init.cxx Regenerate. 2004-05-04 22:19:18 +00:00
Ltest-nocalloc.c Assign `func' just once in Ltest-nocalloc glibc case 2012-09-28 14:51:22 +03:00
Ltest-nomalloc.c Verify that we don't call malloc when unwinding locally. 2009-03-16 21:34:48 -07:00
Ltest-resume-sig-rt.c test-resume-sig-rt: test unw_resume() in presence of "realtime" signal frame 2012-08-21 22:33:56 +03:00
Ltest-resume-sig.c Regenerate. 2004-05-04 22:19:18 +00:00
Ltest-trace.c Fast back-trace for x86_64 for only collecting the call stack. 2011-03-24 22:33:17 -07:00
Ltest-varargs.c Use `UNUSED' in tests 2012-09-28 14:51:21 +03:00
Makefile.am Fix compilation of tests on alpine linux (musl libc) 2017-01-13 08:28:21 -08:00
mapper.c Prefer NULL over zero 2012-09-28 14:51:21 +03:00
perf-startup Stop using nonportable echo arguments in tests 2012-08-21 22:30:46 +03:00
ppc64-test-altivec-utils.c Add PPC64 support. 2007-08-02 09:59:43 -06:00
ppc64-test-altivec.c Add PPC64 support. 2007-08-02 09:59:43 -06:00
run-check-namespace Bring git v0.98.5 tree in sync with released v0.98.5. 2006-07-25 21:32:28 -06:00
run-coredump-unwind MiniDebugInfo test: tests/run-coredump-unwind-mdi 2012-08-10 15:29:03 +02:00
run-coredump-unwind-mdi MiniDebugInfo test: tests/run-coredump-unwind-mdi 2012-08-10 15:29:03 +02:00
run-ia64-test-dyn1 Bring git v0.98.5 tree in sync with released v0.98.5. 2006-07-25 21:32:28 -06:00
run-ptrace-mapper Add unwind descriptors to getcontext.S 2010-04-28 16:32:30 -07:00
run-ptrace-misc Bring git v0.98.5 tree in sync with released v0.98.5. 2006-07-25 21:32:28 -06:00
test-async-sig.c Use `UNUSED' in tests 2012-09-28 14:51:21 +03:00
test-coredump-unwind.c tests: Use strtoul in test-coredump-unwind.c 2017-01-13 08:28:21 -08:00
test-flush-cache.c Call `unw_backtrace()' explicitly in test-flush-cache.c 2012-09-28 14:50:03 +03:00
test-init-remote.c Use `UNUSED' in tests 2012-09-28 14:51:21 +03:00
test-mem.c Use `UNUSED' in tests 2012-09-28 14:51:21 +03:00
test-proc-info.c Use `UNUSED' in tests 2012-09-28 14:51:21 +03:00
test-ptrace-misc.c Use `UNUSED' in tests 2012-09-28 14:51:21 +03:00
test-ptrace.c tests: Walk default test arguments to ensure child process has visibility 2017-01-13 08:28:21 -08:00
test-setjmp.c Use `UNUSED' in tests 2012-09-28 14:51:21 +03:00
test-static-link-gen.c (test_generic): Fix "unused variable" warning. 2004-09-09 13:06:01 +00:00
test-static-link-loc.c Use `UNUSED' in tests 2012-09-28 14:51:21 +03:00
test-strerror.c Use `UNUSED' in tests 2012-09-28 14:51:21 +03:00