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.
This commit is contained in:
Дмитрий Левин 2013-11-12 15:27:38 +00:00
parent e19a712aae
commit e2de3bdd12
2 changed files with 4 additions and 5 deletions

View File

@ -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>])

View File

@ -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)