x86, x86_64: fix compilation warnings
Fix "dereferencing type-punned pointer will break strict-aliasing rules" warnings introduced by commit v4.8-52-gb51f364. * signal.c (sys_sigreturn): Avoid dereferencing type-punned pointers.
This commit is contained in:
parent
a877379bcb
commit
aca4ff79d1
13
signal.c
13
signal.c
@ -888,13 +888,16 @@ sys_sigreturn(struct tcb *tcp)
|
||||
* and after it an additional u32 extramask[1] which holds
|
||||
* upper half of the mask.
|
||||
*/
|
||||
sigset_t sigm;
|
||||
union {
|
||||
sigset_t sig;
|
||||
uint32_t mask[2];
|
||||
} sigmask;
|
||||
if (umove(tcp, *i386_esp_ptr, &signal_stack) < 0)
|
||||
return 0;
|
||||
sigemptyset(&sigm);
|
||||
((uint32_t*)&sigm)[0] = signal_stack.sc.oldmask;
|
||||
((uint32_t*)&sigm)[1] = signal_stack.extramask[0];
|
||||
tprints(sprintsigmask(") (mask ", &sigm));
|
||||
sigemptyset(&sigmask.sig);
|
||||
sigmask.mask[0] = signal_stack.sc.oldmask;
|
||||
sigmask.mask[1] = signal_stack.extramask[0];
|
||||
tprints(sprintsigmask(") (mask ", &sigmask.sig));
|
||||
}
|
||||
#elif defined(IA64)
|
||||
if (entering(tcp)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user