arm: fix compilation warning
authorDmitry V. Levin <ldv@altlinux.org>
Fri, 7 Feb 2014 18:02:39 +0000 (18:02 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Fri, 7 Feb 2014 18:02:39 +0000 (18:02 +0000)
Fix "dereferencing type-punned pointer will break strict-aliasing rules"
warning introduced by commit v4.8-54-g670b21b.

* signal.c (sys_sigreturn) [ARM]: Avoid dereferencing type-punned pointers.

signal.c

index 9c2a2b37043d5e46af648160743efda9241e22f1..588cd62a6acb0de4e8a7f06e4a83e1a49271c309 100644 (file)
--- a/signal.c
+++ b/signal.c
@@ -831,8 +831,7 @@ sys_sigreturn(struct tcb *tcp)
                 *  tprints(sprintsigmask_long(") (mask ", uc.sc.oldmask));
                 */
                sigemptyset(&sigm);
-               ((uint32_t*)&sigm)[0] = uc.uc_sigmask[0];
-               ((uint32_t*)&sigm)[1] = uc.uc_sigmask[1];
+               memcpy(&sigm, uc.uc_sigmask, 8);
                tprints(sprintsigmask(") (mask ", &sigm));
        }
 #elif defined(S390) || defined(S390X)