aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-01-02 09:52:33 +0000
committerRoland McGrath <roland@gnu.org>2002-01-02 09:52:33 +0000
commitf58f41f1f479e299a8e61235934befc014992609 (patch)
tree0ffd4f613f8a50c015e124701410c2ee950ed30a
parentd244fd7318694ce8c776ee3a39914802d7b0eec5 (diff)
downloadglibc-f58f41f1f479e299a8e61235934befc014992609.zip
glibc-f58f41f1f479e299a8e61235934befc014992609.tar.gz
glibc-f58f41f1f479e299a8e61235934befc014992609.tar.bz2
* sysdeps/powerpc/elf/libc-start.c: Make AUXVEC diddling code
conditional on [HAVE_AUX_VECTOR]. * mach/mach/mach_traps.h (thread_switch, __thread_switch): Use mach_msg_timeout_t as type of final argument. * hurd/privports.c (__get_privileged_ports): Change host_priv_t to mach_port_t in argument type. * hurd/hurd.h (get_privileged_ports, __get_privileged_ports): Update decls. * sysdeps/mach/hurd/i386/bits/sigcontext.h: Protect from multiple inclusion. Inhibit #error under [_SYS_UCONTEXT_H]. * sysdeps/mach/hurd/alpha/bits/sigcontext.h: Likewise. * sysdeps/mach/hurd/hppa/bits/sigcontext.h: Likewise. * sysdeps/mach/hurd/mips/bits/sigcontext.h: Likewise. * sysdeps/mach/hurd/powerpc/bits/sigcontext.h: Likewise.
-rw-r--r--ChangeLog20
-rw-r--r--hurd/hurd.h6
-rw-r--r--hurd/privports.c4
-rw-r--r--mach/mach/mach_traps.h9
-rw-r--r--sysdeps/mach/hurd/alpha/bits/sigcontext.h8
-rw-r--r--sysdeps/mach/hurd/hppa/bits/sigcontext.h8
-rw-r--r--sysdeps/mach/hurd/i386/bits/sigcontext.h6
-rw-r--r--sysdeps/mach/hurd/mips/bits/sigcontext.h9
-rw-r--r--sysdeps/mach/hurd/powerpc/bits/sigcontext.h8
-rw-r--r--sysdeps/powerpc/elf/libc-start.c6
10 files changed, 65 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index 214b7a2..f52f98a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2002-01-02 Roland McGrath <roland@frob.com>
+
+ * sysdeps/powerpc/elf/libc-start.c: Make AUXVEC diddling code
+ conditional on [HAVE_AUX_VECTOR].
+
+ * mach/mach/mach_traps.h (thread_switch, __thread_switch): Use
+ mach_msg_timeout_t as type of final argument.
+
+ * hurd/privports.c (__get_privileged_ports):
+ Change host_priv_t to mach_port_t in argument type.
+ * hurd/hurd.h (get_privileged_ports, __get_privileged_ports):
+ Update decls.
+
+ * sysdeps/mach/hurd/i386/bits/sigcontext.h: Protect from
+ multiple inclusion. Inhibit #error under [_SYS_UCONTEXT_H].
+ * sysdeps/mach/hurd/alpha/bits/sigcontext.h: Likewise.
+ * sysdeps/mach/hurd/hppa/bits/sigcontext.h: Likewise.
+ * sysdeps/mach/hurd/mips/bits/sigcontext.h: Likewise.
+ * sysdeps/mach/hurd/powerpc/bits/sigcontext.h: Likewise.
+
2002-01-01 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/errnos.awk: Tighten up device_types.h matching.
diff --git a/hurd/hurd.h b/hurd/hurd.h
index 44c0b99..0dc9f21 100644
--- a/hurd/hurd.h
+++ b/hurd/hurd.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993,94,95,96,97,98,99,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1993,94,95,96,97,98,99,2001,02 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
@@ -299,9 +299,9 @@ extern error_t hurd_sig_post (pid_t pid, int sig, mach_port_t refport);
other than the proc server (such as a bootstrap filesystem) can set
these variables to install the ports. */
-extern kern_return_t __get_privileged_ports (host_priv_t *host_priv_ptr,
+extern kern_return_t __get_privileged_ports (mach_port_t *host_priv_ptr,
device_t *device_master_ptr);
-extern kern_return_t get_privileged_ports (host_priv_t *host_priv_ptr,
+extern kern_return_t get_privileged_ports (mach_port_t *host_priv_ptr,
device_t *device_master_ptr);
extern mach_port_t _hurd_host_priv, _hurd_device_master;
diff --git a/hurd/privports.c b/hurd/privports.c
index 5d3232b..707fca7 100644
--- a/hurd/privports.c
+++ b/hurd/privports.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993,94,97,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1993,94,97,2001,02 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
@@ -25,7 +25,7 @@ mach_port_t _hurd_host_priv, _hurd_device_master;
kern_return_t
-__get_privileged_ports (host_priv_t *host_priv_ptr,
+__get_privileged_ports (mach_port_t *host_priv_ptr,
device_t *device_master_ptr)
{
if ((host_priv_ptr && _hurd_host_priv == MACH_PORT_NULL)
diff --git a/mach/mach/mach_traps.h b/mach/mach/mach_traps.h
index 5a702a4..2d97baa 100644
--- a/mach/mach/mach_traps.h
+++ b/mach/mach/mach_traps.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1994,96,97,2002 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
@@ -26,6 +26,7 @@
#define _MACH_MACH_TRAPS_H_ 1
#include <mach/port.h>
+#include <mach/message.h> /* mach_msg_timeout_t */
#include <mach/kern_return.h>
/* Create and return a new receive right. */
@@ -64,8 +65,10 @@ extern boolean_t __swtch_pri (int priority);
milliseconds. If OPTION is SWITCH_OPTION_DEPRESS, then block for
TIME milliseconds and depress the thread's priority as done by
swtch_pri. If OPTION is SWITCH_OPTION_NONE, ignore TIME. */
-kern_return_t thread_switch (mach_port_t new_thread, int option, int time);
-kern_return_t __thread_switch (mach_port_t new_thread, int option, int time);
+kern_return_t thread_switch (mach_port_t new_thread,
+ int option, mach_msg_timeout_t option_time);
+kern_return_t __thread_switch (mach_port_t new_thread,
+ int option, mach_msg_timeout_t option_time);
/* Block the current thread until the kernel (or device) event
identified by EVENT occurs. */
diff --git a/sysdeps/mach/hurd/alpha/bits/sigcontext.h b/sysdeps/mach/hurd/alpha/bits/sigcontext.h
index 158db61..4f13a2c 100644
--- a/sysdeps/mach/hurd/alpha/bits/sigcontext.h
+++ b/sysdeps/mach/hurd/alpha/bits/sigcontext.h
@@ -1,5 +1,5 @@
/* Machine-dependent signal context structure for GNU Hurd. Alpha version.
- Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1994,97,2001 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,10 +17,12 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#ifndef _SIGNAL_H
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
#endif
+#ifndef sc_alpha_thread_state
+
/* Signal handlers are actually called:
void handler (int sig, int code, struct sigcontext *scp); */
@@ -67,3 +69,5 @@ struct sigcontext
double sc_fpregs[31]; /* Floating point registers $f0..$f30. */
long int sc_fpcsr; /* Floating point control/status register. */
};
+
+#endif /* sc_alpha_thread_state */
diff --git a/sysdeps/mach/hurd/hppa/bits/sigcontext.h b/sysdeps/mach/hurd/hppa/bits/sigcontext.h
index 0042359..5db43fc 100644
--- a/sysdeps/mach/hurd/hppa/bits/sigcontext.h
+++ b/sysdeps/mach/hurd/hppa/bits/sigcontext.h
@@ -1,5 +1,5 @@
/* Machine-dependent signal context structure for GNU Hurd. HPPA version.
- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1995,97,2001 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,10 +17,12 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#ifndef _SIGNAL_H
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
#endif
+#ifndef sc_parisc_thread_state
+
/* Signal handlers are actually called:
void handler (int sig, int code, struct sigcontext *scp); */
@@ -88,3 +90,5 @@ struct sigcontext
/* Floating point registers $f0..$f31. */
double sc_fpregs[32];
};
+
+#endif /* sc_parisc_thread_state */
diff --git a/sysdeps/mach/hurd/i386/bits/sigcontext.h b/sysdeps/mach/hurd/i386/bits/sigcontext.h
index 5fa99d9..a78dd2f 100644
--- a/sysdeps/mach/hurd/i386/bits/sigcontext.h
+++ b/sysdeps/mach/hurd/i386/bits/sigcontext.h
@@ -17,10 +17,12 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#ifndef _SIGNAL_H
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
#endif
+#ifndef sc_pc
+
/* Signal handlers are actually called:
void handler (int sig, int code, struct sigcontext *scp); */
@@ -114,3 +116,5 @@ struct sigcontext
/* Codes for SIGTRAP. */
#define DBG_SINGLE_TRAP 0x1 /* single step */
#define DBG_BRKPNT_FAULT 0x2 /* breakpoint instruction */
+
+#endif /* sc_pc */
diff --git a/sysdeps/mach/hurd/mips/bits/sigcontext.h b/sysdeps/mach/hurd/mips/bits/sigcontext.h
index deea841..14c6188 100644
--- a/sysdeps/mach/hurd/mips/bits/sigcontext.h
+++ b/sysdeps/mach/hurd/mips/bits/sigcontext.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+/* Machine-dependent signal context structure for GNU Hurd. MIPS version.
+ Copyright (C) 1994,97,2001 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
@@ -16,10 +17,12 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#ifndef _SIGNAL_H
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
#endif
+#ifndef sc_mips_thread_state
+
/* Signal handlers are actually called:
void handler (int sig, int code, struct sigcontext *scp); */
@@ -73,3 +76,5 @@ struct sigcontext
int sc_fpcsr; /* FPU status register. */
int sc_fpeir; /* FP exception instruction register. */
};
+
+#endif /* sc_mips_thread_state */
diff --git a/sysdeps/mach/hurd/powerpc/bits/sigcontext.h b/sysdeps/mach/hurd/powerpc/bits/sigcontext.h
index 6f14ec5..fd2df48 100644
--- a/sysdeps/mach/hurd/powerpc/bits/sigcontext.h
+++ b/sysdeps/mach/hurd/powerpc/bits/sigcontext.h
@@ -1,5 +1,5 @@
/* Machine-dependent signal context structure for GNU Hurd. PowerPC version.
- Copyright (C) 1991, 1992, 1994, 1997 Free Software Foundation, Inc.
+ Copyright (C) 2001,02 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,10 +17,12 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _SIGNAL_H
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
#endif
+#ifndef sc_pc
+
/* Signal handlers are actually called:
void handler (int sig, int code, struct sigcontext *scp); */
@@ -74,3 +76,5 @@ struct sigcontext
unsigned int sc_fpscr_pad;
unsigned int sc_fpscr;
};
+
+#endif /* sc_pc */
diff --git a/sysdeps/powerpc/elf/libc-start.c b/sysdeps/powerpc/elf/libc-start.c
index 83618cd..99dc436 100644
--- a/sysdeps/powerpc/elf/libc-start.c
+++ b/sysdeps/powerpc/elf/libc-start.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1998,2000,01,02 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
@@ -72,12 +72,14 @@ BP_SYM (__libc_start_main) (int argc, char *__unbounded *__unbounded ubp_av,
argc = *(int *__unbounded) stack_on_entry;
ubp_av = stack_on_entry + 1;
ubp_ev = ubp_av + argc + 1;
+#ifdef HAVE_AUX_VECTOR
auxvec = ubp_ev;
while (*(char *__unbounded *__unbounded) auxvec != NULL)
++auxvec;
++auxvec;
-#ifndef SHARED
+# ifndef SHARED
_dl_aux_init ((ElfW(auxv_t) *) auxvec);
+# endif
#endif
rtld_fini = NULL;
}