]> granicus.if.org Git - strace/commitdiff
2008-05-19 Roland McGrath <roland@redhat.com>
authorRoland McGrath <roland@redhat.com>
Tue, 20 May 2008 01:26:21 +0000 (01:26 +0000)
committerRoland McGrath <roland@redhat.com>
Tue, 20 May 2008 01:26:21 +0000 (01:26 +0000)
* configure.ac: Add check for struct sigcontext_struct in <signal.h>.
* signal.c [! HAVE_ASM_SIGCONTEXT_H] [I386] (struct sigcontext_struct):
Conditionalize definition on !HAVE_STRUCT_SIGCONTEXT_STRUCT.
Fixes Debian#456879.

configure.ac
signal.c

index bb2b354508bd09c7f9207608e0795bb91cada99c..4231a4ea3630371cc3f6ed3f795685f32cd80417 100644 (file)
@@ -197,6 +197,7 @@ AC_CHECK_HEADERS([linux/icmp.h linux/in6.h linux/netlink.h linux/if_packet.h],
                  [], [], [#include <stddef.h>
 #include <linux/socket.h>])
 AC_CHECK_HEADERS([asm/sigcontext.h], [], [], [#include <signal.h>])
+AC_CHECK_TYPES([struct sigcontext_struct],,, [#include <signal.h>])
 AC_CHECK_HEADERS([netinet/tcp.h netinet/udp.h],,, [#include <netinet/in.h>])
 
 AC_MP_PROCFS
index 90e38b70028a1cc5c362dab9a69e80a2d21f3b5d..874e3d52c79cbe18954d6da56d5879ba37549d95 100644 (file)
--- a/signal.c
+++ b/signal.c
@@ -107,7 +107,7 @@ typedef struct {
 #include <asm/sigcontext.h>
 #endif /* !IA64 && !X86_64 */
 #else /* !HAVE_ASM_SIGCONTEXT_H */
-#ifdef I386
+#if defined I386 && !defined HAVE_STRUCT_SIGCONTEXT_STRUCT
 struct sigcontext_struct {
        unsigned short gs, __gsh;
        unsigned short fs, __fsh;