aboutsummaryrefslogtreecommitdiff
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)) \