about summary refs log tree commit diff
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.tar.gz
glibc-f58f41f1f479e299a8e61235934befc014992609.tar.xz
glibc-f58f41f1f479e299a8e61235934befc014992609.zip
* 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 214b7a2a4f..f52f98a129 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 44c0b99184..0dc9f2158b 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 5d3232b214..707fca7517 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 5a702a458e..2d97baa88f 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 158db61876..4f13a2c9b2 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 0042359562..5db43fc22c 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 5fa99d9978..a78dd2f279 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 deea841b62..14c618857e 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 6f14ec5c31..fd2df48d48 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 83618cd181..99dc436b07 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;
     }