about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog20
-rw-r--r--linuxthreads/signals.c2
-rw-r--r--sysdeps/generic/sigcontextinfo.h3
-rw-r--r--sysdeps/mach/hurd/i386/sigcontextinfo.h3
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h1
-rw-r--r--sysdeps/unix/sysv/linux/arm/sigcontextinfo.h1
-rw-r--r--sysdeps/unix/sysv/linux/i386/sigcontextinfo.h3
-rw-r--r--sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h1
11 files changed, 36 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index bbe67a7ea9..fa15516f48 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+1999-08-23  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* sysdeps/unix/sysv/linux/mips/bits/errno.h: New file.  Neccessary
+	since mips*-linux has ECANCELED.
+
+1999-08-23  Andreas Schwab  <schwab@suse.de>
+
+	* sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h: Define
+	SIGCONTEXT_EXTRA_ARGS.
+	* sysdeps/unix/sysv/linux/i386/sigcontextinfo.h: Likewise.
+	* sysdeps/generic/sigcontextinfo.h: Likewise.
+	* sysdeps/mach/hurd/i386/sigcontextinfo.h: Likewise.
+	* sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h: Likewise.
+	* sysdeps/unix/sysv/linux/arm/sigcontextinfo.h: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h:
+	Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h:
+	Likewise.
+
 1999-08-23  Ulrich Drepper  <drepper@cygnus.com>
 
 	* posix/regexbug1.c: Make it an error if the test fails.
diff --git a/linuxthreads/signals.c b/linuxthreads/signals.c
index 8afb6738e6..1293ce54a6 100644
--- a/linuxthreads/signals.c
+++ b/linuxthreads/signals.c
@@ -88,7 +88,7 @@ static void pthread_sighandler(int signo, SIGCONTEXT ctx)
   in_sighandler = THREAD_GETMEM(self, p_in_sighandler);
   if (in_sighandler == NULL)
     THREAD_SETMEM(self, p_in_sighandler, CURRENT_STACK_FRAME);
-  sighandler[signo](signo, ctx);
+  sighandler[signo](signo, SIGCONTEXT_EXTRA_ARGS ctx);
   if (in_sighandler == NULL)
     THREAD_SETMEM(self, p_in_sighandler, NULL);
 }
diff --git a/sysdeps/generic/sigcontextinfo.h b/sysdeps/generic/sigcontextinfo.h
index 9623599698..a33aadfed1 100644
--- a/sysdeps/generic/sigcontextinfo.h
+++ b/sysdeps/generic/sigcontextinfo.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -19,6 +19,7 @@
 
 /* In general we cannot provide any information.  */
 #define SIGCONTEXT struct sigcontext *
+#define SIGCONTEXT_EXTRA_ARGS
 #define GET_PC(ctx)	((void *) 0)
 #define GET_FRAME(ctx)	((void *) 0)
 #define GET_STACK(ctx)	((void *) 0)
diff --git a/sysdeps/mach/hurd/i386/sigcontextinfo.h b/sysdeps/mach/hurd/i386/sigcontextinfo.h
index 6dd80f25ea..008be70706 100644
--- a/sysdeps/mach/hurd/i386/sigcontextinfo.h
+++ b/sysdeps/mach/hurd/i386/sigcontextinfo.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -17,6 +17,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #define SIGCONTEXT struct sigcontext
+#define SIGCONTEXT_EXTRA_ARGS
 #define GET_PC(ctx)	((void *) (ctx).sc_eip)
 #define GET_FRAME(ctx)	((void *) (ctx).sc_ebp)
 #define GET_STACK(ctx)	((void *) (ctx).sc_uesp)
diff --git a/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h b/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h
index 3125e9ba9b..19c35a4624 100644
--- a/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h
@@ -17,6 +17,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #define SIGCONTEXT struct sigcontext
+#define SIGCONTEXT_EXTRA_ARGS
 #define GET_PC(ctx)	((void *) (ctx).sc_pc)
 #define GET_FRAME(ctx)	((void *) (ctx).sc_regs[15])
 #define GET_STACK(ctx)	((void *) (ctx).sc_regs[30])
diff --git a/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h b/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
index d92c9fadf1..51788e0e51 100644
--- a/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
@@ -18,6 +18,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #define SIGCONTEXT int _a2, int _a3, int _a4, union k_sigcontext
+#define SIGCONTEXT_EXTRA_ARGS _a2, _a3, _a4,
 
 #define GET_PC(ctx)	((void *)((ctx.v20.magic == SIGCONTEXT_2_0_MAGIC) ? \
 			 ctx.v20.reg.ARM_pc : ctx.v21.arm_pc))
diff --git a/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h b/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h
index 6560b9441e..42c18b22bb 100644
--- a/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -18,6 +18,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #define SIGCONTEXT struct sigcontext
+#define SIGCONTEXT_EXTRA_ARGS
 #define GET_PC(ctx)	((void *) ctx.eip)
 #define GET_FRAME(ctx)	((void *) ctx.ebp)
 #define GET_STACK(ctx)	((void *) ctx.esp_at_signal)
diff --git a/sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h b/sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h
index bdef810a23..86bf934c51 100644
--- a/sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>, 1998.
 
@@ -17,7 +17,8 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-#define SIGCONTEXT int code, struct sigcontext *
+#define SIGCONTEXT int _code, struct sigcontext *
+#define SIGCONTEXT_EXTRA_ARGS _code,
 #define GET_PC(ctx)	((void *) (ctx)->sc_pc)
 #define GET_FRAME(ctx)	((void *) __builtin_frame_address (1))
 #define GET_STACK(ctx)	((void *) (ctx)->sc_usp)
diff --git a/sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h b/sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h
index 33a3c817d7..644a0c259b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -19,6 +19,7 @@
 #include <signal.h>
 
 #define SIGCONTEXT struct sigcontext *
+#define SIGCONTEXT_EXTRA_ARGS
 #define GET_PC(ctx)	((void *)((ctx)->regs->nip))
 #define GET_FRAME(ctx)	(*(void **)((ctx)->regs->gpr[1]))
 #define GET_STACK(ctx)	((void *)((ctx)->regs->gpr[1]))
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h b/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
index 24629d3a07..4e8fcd7871 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
@@ -18,6 +18,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #define SIGCONTEXT __siginfo_t *
+#define SIGCONTEXT_EXTRA_ARGS
 #define GET_PC(__ctx)	((void *) ((__ctx)->si_regs.pc))
 #define ADVANCE_STACK_FRAME(__next) \
 	((void *)&(((struct reg_window *) (__next))->ins[6]))
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
index 8430dbcbe1..40e365df4b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
@@ -33,6 +33,7 @@ struct __rt_signal_frame {
 #define STACK_BIAS 2047
 #endif
 #define SIGCONTEXT struct __rt_signal_frame *
+#define SIGCONTEXT_EXTRA_ARGS
 #define GET_PC(__ctx)	((void *) ((__ctx)->sf_regs.tpc))
 #define ADVANCE_STACK_FRAME(__next) \
 	((void *) &((struct reg_window *) (((unsigned long int) (__next))     \