Adhemerval Zanella
1b132d55e2
Fix __libc_signal_block_all on sparc64
...
The posix_spawn on sparc issues invalid sigprocmask calls:
rt_sigprocmask(0xffe5e15c /* SIG_??? */, ~[], 0xffe5e1dc, 8) = -1 EINVAL (Invalid argument)
Which make support/tst-support_capture_subprocess fails with random
output (due the child signal being wrongly captured by the parent).
Tracking the culprit it seems to be a wrong code generation in the
INTERNAL_SYSCALL due the automatic sigset_t used on
__libc_signal_block_all:
return INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_BLOCK, &SIGALL_SET,
set, _NSIG / 8);
Where SIGALL_SET is defined as:
((__sigset_t) { .__val = {[0 ... _SIGSET_NWORDS-1 ] = -1 } })
Building the expanded __libc_signal_block_all on sparc64 with recent
compiler (gcc 8.3.1 and 9.1.1):
#include <signal>
int
_libc_signal_block_all (sigset_t *set)
{
INTERNAL_SYSCALL_DECL (err);
return INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_BLOCK, &SIGALL_SET,
set, _NSIG / 8);
}
The first argument (SIG_BLOCK) is not correctly set on 'o0' register:
__libc_signal_block_all:
save %sp, -304, %sp
add %fp, 1919, %o0
mov 128, %o2
sethi %hi(.LC0), %o1
call memcpy, 0
or %o1, %lo(.LC0), %o1
add %fp, 1919, %o1
mov %i0, %o2
mov 8, %o3
mov 103, %g1
ta 0x6d;
bcc,pt %xcc, 1f
mov 0, %g1
sub %g0, %o0, %o0
mov 1, %g1
1: sra %o0, 0, %i0
return %i7+8
nop
Where if SIGALL_SET is defined a const object, gcc correctly sets the
expected kernel argument in correct register:
sethi %hi(.LC0), %o1
call memcpy, 0
or %o1, %lo(.LC0), %o1
-> mov 1, %o0
add %fp, 1919, %o1
Another possible fix is use a static const object. Although there
should not be a difference between a const compound literal and a static
const object, the gcc C99 status page [1] has a note stating that this
optimization is not implemented:
"const-qualified compound literals could share storage with each
other and with string literals, but currently don't.".
This patch fixes it by moving both sigset_t that represent the
signal sets to static const data object. It generates slight better
code where the object reference is used directly instead of a stack
allocation plus the content materialization.
Checked on x86_64-linux-gnu, i686-linux-gnu, and sparc64-linux-gnu.
[1] https://gcc.gnu.org/c99status.html
2019-12-19 10:30:49 -03:00
..
2019-11-06 14:36:07 -03:00
2019-12-09 15:04:56 -03:00
2019-11-06 14:36:07 -03:00
2019-11-29 14:17:15 +00:00
2019-11-06 14:36:07 -03:00
2019-10-24 09:14:26 -07:00
2019-12-09 15:04:56 -03:00
2019-12-09 15:04:56 -03:00
2019-12-09 15:04:56 -03:00
2019-09-07 02:43:31 -07:00
2019-12-09 15:04:56 -03:00
2019-11-22 14:40:57 -03:00
2019-12-16 19:35:22 +01:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-11-14 12:39:49 +01:00
2019-12-09 15:04:56 -03:00
2019-11-06 14:36:07 -03:00
2019-12-09 15:04:56 -03:00
2019-09-07 02:43:31 -07:00
2019-12-09 15:04:56 -03:00
2019-12-09 15:04:56 -03:00
2019-10-14 23:43:52 +00:00
2019-09-07 02:43:31 -07:00
2019-10-30 17:11:10 -03:00
2019-12-09 15:04:56 -03:00
2019-09-07 02:43:31 -07:00
2019-02-25 13:19:19 +00:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-12-01 21:05:56 +00:00
2019-10-30 17:03:42 -03:00
2019-10-31 11:09:25 -03:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-10-30 17:11:10 -03:00
2019-10-30 17:11:10 -03:00
2019-09-07 02:43:31 -07:00
2019-10-27 21:49:25 +01:00
2019-12-04 09:43:40 -08:00
2019-11-11 16:47:20 -03:00
2019-10-27 21:49:25 +01:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-17 17:09:24 -03:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-11-02 08:41:35 +01:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-12-01 21:05:51 +00:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-12-13 11:11:54 +01:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-10-30 17:11:10 -03:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-10-30 17:11:10 -03:00
2019-09-07 02:43:31 -07:00
2019-12-04 09:43:40 -08:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-12-19 10:30:49 -03:00
2019-09-07 02:43:31 -07:00
2019-10-17 11:04:59 -03:00
2018-12-18 16:45:10 -02:00
2019-09-07 02:43:31 -07:00
2019-10-17 11:04:59 -03:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-12-04 09:43:40 -08:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-10-31 11:09:06 -03:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-10-18 11:01:13 -03:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-10-31 11:09:06 -03:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-11-11 14:41:43 +01:00
2019-10-18 15:55:33 -04:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-11-22 14:40:57 -03:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-10-18 11:01:13 -03:00
2019-09-07 02:43:31 -07:00
2019-10-17 11:05:40 -03:00
2019-10-18 11:01:13 -03:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-10-30 17:05:14 -03:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-10-18 11:01:13 -03:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-11-28 20:32:09 +00:00
2019-10-31 11:09:25 -03:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-17 17:09:24 -03:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-12-05 17:29:42 +01:00
2019-10-30 17:05:14 -03:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-12-05 23:16:54 +01:00
2019-09-07 02:43:31 -07:00
2019-12-05 23:16:54 +01:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2018-11-23 16:50:29 -08:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-11-29 14:18:26 +00:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-11-15 13:05:09 +01:00
2019-11-11 13:40:55 +01:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-11-02 08:41:25 +01:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-10-18 15:55:33 -04:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00
2019-09-07 02:43:31 -07:00