summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2013-11-12 15:27:38 +0000
committerDmitry V. Levin <ldv@altlinux.org>2013-11-12 15:27:38 +0000
commite2de3bdd121f8decb8c33c0e1ecc0520f7827bd3 (patch)
tree58417390f59a65abe8151e7c5f0d34bce0528a60
parente19a712aae9a851a81a6bc31c411ad31f1a20a93 (diff)
downloadstrace-e2de3bdd121f8decb8c33c0e1ecc0520f7827bd3.tar.gz
strace-e2de3bdd121f8decb8c33c0e1ecc0520f7827bd3.tar.bz2
strace-e2de3bdd121f8decb8c33c0e1ecc0520f7827bd3.tar.xz
Use struct sigcontext instead of struct sigcontext_struct
* configure.ac (AC_CHECK_TYPES): Remove struct sigcontext_struct. * signal.c (sys_sigreturn) [S390 || S390X || POWERPC || ALPHA): Replace struct sigcontext_struct with struct sigcontext. Reported by John Spencer.
-rw-r--r--configure.ac3
-rw-r--r--signal.c6
2 files changed, 4 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac
index a60b25f..96e72ca 100644
--- a/configure.ac
+++ b/configure.ac
@@ -243,8 +243,7 @@ AC_CHECK_HEADERS([linux/icmp.h linux/in6.h linux/netlink.h linux/if_packet.h],
#include <sys/socket.h>
#include <asm/types.h>])
AC_CHECK_HEADERS([asm/sigcontext.h], [], [], [#include <signal.h>])
-AC_CHECK_TYPES([struct sigcontext_struct,
- struct sigcontext],,, [#include <signal.h>])
+AC_CHECK_TYPES([struct sigcontext],,, [#include <signal.h>])
AC_CHECK_HEADERS([netinet/tcp.h netinet/udp.h],,, [#include <netinet/in.h>])
AC_CHECK_MEMBERS([struct msghdr.msg_control],,, [#include <sys/socket.h>])
diff --git a/signal.c b/signal.c
index 3411ddd..3a11b8a 100644
--- a/signal.c
+++ b/signal.c
@@ -827,7 +827,7 @@ sys_sigreturn(struct tcb *tcp)
#elif defined(S390) || defined(S390X)
if (entering(tcp)) {
long usp;
- struct sigcontext_struct sc;
+ struct sigcontext sc;
if (upeek(tcp->pid, PT_GPR15, &usp) < 0)
return 0;
if (umove(tcp, usp + __SIGNAL_FRAMESIZE, &sc) < 0)
@@ -921,7 +921,7 @@ sys_sigreturn(struct tcb *tcp)
#elif defined(POWERPC)
if (entering(tcp)) {
long esp;
- struct sigcontext_struct sc;
+ struct sigcontext sc;
esp = ppc_regs.gpr[1];
@@ -951,7 +951,7 @@ sys_sigreturn(struct tcb *tcp)
#elif defined(ALPHA)
if (entering(tcp)) {
long fp;
- struct sigcontext_struct sc;
+ struct sigcontext sc;
if (upeek(tcp->pid, REG_FP, &fp) < 0)
return 0;
if (umove(tcp, fp, &sc) < 0)