6fcba93b17d52c22bf00211b8bf1524ef61bbcab |
|
09-Feb-2018 |
Josh Gao <jmgao@google.com> |
Filter out reserved signals in functions that take sigset_t. Prevent processes from blocking libc-reserved signals by filtering them out. Bug: http://b/73144101 Test: 32/64-bit bionic-unit-tests-glibc Test: 32/64-bit bionic-unit-tests on taimen Change-Id: Ibadcaa7f668ed8be885cc61b67fb4b611fce8b17
|
87c6aac6d2d63ad46778dc38727f229bd4f45898 |
|
07-Feb-2018 |
Goran Jakovljevic <goran.jakovljevic@mips.com> |
Don't use SA_RESTORER if it is not defined This is a follow up to I47b0560a30aa33a9b1f1978dfb7f84d2e3d389b8. This fixes MIPS32 build. Test: successful build and boot aosp_mips-eng Change-Id: Ia5b245f5536d8fd037f1798bbdf6215c5f059045
|
11f607641000993a90ef774bfab18347052094d6 |
|
05-Feb-2018 |
Evgeny Eltsin <eaeltsin@google.com> |
Make sigaction consistent about SA_RESTORER and sa_restorer Bug: http://b/72493232 Test: bionic-unit-tests --gtest_filter=*signal.sigaction* Change-Id: Ia9fceb478498d09c8f2f6222d6a81725e1f6eb23
|
3e235911c9cf5062adbb73efb53fe5ed712d7c53 |
|
01-Feb-2018 |
Elliott Hughes <enh@google.com> |
Add `struct sigaction64` and `sigaction64`. Bug: http://b/72493232 Test: ran tests Change-Id: I47b0560a30aa33a9b1f1978dfb7f84d2e3d389b8
|
28ea229bb29f3ee82991ca8b5ac5f7a9b7b89fdc |
|
04-Sep-2014 |
Elliott Hughes <enh@google.com> |
Don't mask out SA_RESTORER from sa_flags. glibc doesn't do this, and we probably shouldn't either. Bug: 16703540 Bug: 17436734 (cherry picked from commit afe58ad9892de27a7acb0aaded6312ee0f958314) Change-Id: Iada5d0ae814f438cb276f056b2b5e3675f0e3666
|
e5e61a0a920a8e6560735b2e565c3bd7a1e35ba5 |
|
17-Sep-2014 |
Elliott Hughes <enh@google.com> |
Use the kernel's sa_restorer for aarch64. gdb was happy with what we had, but libgcc and libunwind weren't. libgcc is happy with the kernel's restorer (because of the extra nop), though libunwind looks like it's going to need code changes regardless. We could make our restorer more like the kernel's one, but why bother when we can just let the kernel supply the canonical one? Bug: 17436734 (cherry picked from commit 1cff9a89645a8f362a9ce19c7f9544e98c1fd9e7) Change-Id: Ie13d73fd97395e1979a67c2294e036a97c50000d
|
7dc2b7b30ddc158a5e7aa6945526eb65d354b96c |
|
11-Sep-2014 |
Elliott Hughes <enh@google.com> |
Fix signal trampolines. * LP32 should use sa_restorer too. gdb expects this, and future (>= 3.15) x86 kernels will apparently stop supporting the case where SA_RESTORER isn't set. * gdb and libunwind care about the exact instruction sequences, so we need to modify the code slightly in a few cases to match what they're looking for. * gdb also cares about the exact function names (for some architectures), so we need to use __restore and __restore_rt rather than __sigreturn and __rt_sigreturn. * It's possible that we don't have a VDSO; dl_iterate_phdr shouldn't assume that getauxval(AT_SYSINFO_EHDR) will return a non-null pointer. This fixes unwinding through a signal handler in gdb for all architectures. It doesn't fix libunwind for arm and arm64. I'll keep investigating that... (cherry picked from commit 36f451a6d93b6807944d99fa23396e039c47e845) Bug: 17436734 Change-Id: Ic1ea1184db6655c5d96180dc07bcc09628e647cb
|
1cff9a89645a8f362a9ce19c7f9544e98c1fd9e7 |
|
17-Sep-2014 |
Elliott Hughes <enh@google.com> |
Use the kernel's sa_restorer for aarch64. gdb was happy with what we had, but libgcc and libunwind weren't. libgcc is happy with the kernel's restorer (because of the extra nop), though libunwind looks like it's going to need code changes regardless. We could make our restorer more like the kernel's one, but why bother when we can just let the kernel supply the canonical one? Bug: 17436734 Change-Id: I330fa5e68f23b1cf8133aa552896657b0b873ed3
|
36f451a6d93b6807944d99fa23396e039c47e845 |
|
11-Sep-2014 |
Elliott Hughes <enh@google.com> |
Fix signal trampolines. * LP32 should use sa_restorer too. gdb expects this, and future (>= 3.15) x86 kernels will apparently stop supporting the case where SA_RESTORER isn't set. * gdb and libunwind care about the exact instruction sequences, so we need to modify the code slightly in a few cases to match what they're looking for. * gdb also cares about the exact function names (for some architectures), so we need to use __restore and __restore_rt rather than __sigreturn and __rt_sigreturn. * It's possible that we don't have a VDSO; dl_iterate_phdr shouldn't assume that getauxval(AT_SYSINFO_EHDR) will return a non-null pointer. This fixes unwinding through a signal handler in gdb for all architectures. It doesn't fix libunwind for arm and arm64. I'll keep investigating that... Bug: 17436734 Change-Id: Ic1ea1184db6655c5d96180dc07bcc09628e647cb
|
afe58ad9892de27a7acb0aaded6312ee0f958314 |
|
04-Sep-2014 |
Elliott Hughes <enh@google.com> |
Don't mask out SA_RESTORER from sa_flags. glibc doesn't do this, and we probably shouldn't either. Bug: 16703540 Change-Id: Id5b93c3782e34024a9916463348e8f3caff191bf
|
46f3db6bb81b3368783ea3748df46c2d7d2f7b2f |
|
31-Jan-2014 |
Chris Dearman <chris.dearman@imgtec.com> |
[MIPS] SA_RESTORER support is not needed for MIPS Change-Id: I1c000c94973e811193c80c9770da4f3157594f90 Signed-off-by: Chris Dearman <chris.dearman@imgtec.com> Signed-off-by: Duane Sand <duane.sand@imgtec.com>
|
c7e9b2331771e5e87c34a8ee3dc6cc41d35b02fe |
|
17-Oct-2013 |
Elliott Hughes <enh@google.com> |
Fix sigaction(3) for 64-bit. Also clean up <signal.h> and revert the hacks that were necessary for 64-bit in linker/debugger.cpp until now. Change-Id: I3b0554ca8a49ee1c97cda086ce2c1954ebc11892
|