This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

bring mips*-linux back to a buildable state


These patches gets all 3 ABIs of mips64-linux to build and work again.
Ok to install?

Index: linuxthreads/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/mips/atomicity.h, sysdeps/mips/pt-machine.h: Use
	standard names for ABI macros, include sgidefs.h where appropriate.

Index: ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/mips/atomicity.h, sysdeps/mips/dl-machine.h,
	sysdeps/mips/machine-gmon.h, sysdeps/mips/bits/setjmp.h,
	sysdeps/mips/fpu/bits/mathdef.h,
	sysdeps/mips/mips64/__longjmp.c,
	sysdeps/mips/mips64/setjmp_aux.c,
	sysdeps/unix/sysv/linux/mips/kernel_stat.h,
	sysdeps/unix/sysv/linux/mips/pread.c,
	sysdeps/unix/sysv/linux/mips/pread64.c,
	sysdeps/unix/sysv/linux/mips/ptrace.c,
	sysdeps/unix/sysv/linux/mips/pwrite.c,
	sysdeps/unix/sysv/linux/mips/pwrite64.c,
	sysdeps/unix/sysv/linux/mips/sigaction.c,
	sysdeps/unix/sysv/linux/mips/sigcontextinfo.h,
	sysdeps/unix/sysv/linux/mips/bits/fcntl.h,
	sysdeps/unix/sysv/linux/mips/bits/sigcontext.h,
	sysdeps/unix/sysv/linux/mips/bits/stat.h,
	sysdeps/unix/sysv/linux/mips/sys/procfs.h,
	sysdeps/unix/sysv/linux/mips/sys/ptrace.h,
	sysdeps/unix/sysv/linux/mips/sys/tas.h,
	sysdeps/unix/sysv/linux/mips/sys/ucontext.h,
	sysdeps/unix/sysv/linux/mips/sys/user.h: Use standard names
	for ABI macros, include sgidefs.h where appropriate.
	sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h):
	Likewise.
	sysdeps/unix/sysv/linux/mips/configure.in (asm-unistd.h):
	Likewise.
	sysdeps/unix/sysv/linux/mips/configure: Rebuilt.

Index: linuxthreads/sysdeps/mips/pspinlock.c
===================================================================
RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/mips/pspinlock.c,v
retrieving revision 1.13
diff -u -p -r1.13 pspinlock.c
--- linuxthreads/sysdeps/mips/pspinlock.c 14 Mar 2003 04:22:05 -0000 1.13
+++ linuxthreads/sysdeps/mips/pspinlock.c 2 Jul 2004 02:37:58 -0000
@@ -1,5 +1,5 @@
 /* POSIX spinlock implementation.  MIPS version.
-   Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2002, 2003, 2004 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
@@ -22,6 +22,8 @@
 #include <sys/tas.h>
 #include "internals.h"
 
+#include <sgidefs.h>
+
 /* This implementation is similar to the one used in the Linux kernel.  */
 int
 __pthread_spin_lock (pthread_spinlock_t *lock)
Index: linuxthreads/sysdeps/mips/pt-machine.h
===================================================================
RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/mips/pt-machine.h,v
retrieving revision 1.16
diff -u -p -r1.16 pt-machine.h
--- linuxthreads/sysdeps/mips/pt-machine.h 31 Jul 2003 19:15:43 -0000 1.16
+++ linuxthreads/sysdeps/mips/pt-machine.h 2 Jul 2004 02:37:58 -0000
@@ -1,6 +1,6 @@
 /* Machine-dependent pthreads configuration and inline functions.
 
-   Copyright (C) 1996, 1997, 1998, 2000, 2002, 2003
+   Copyright (C) 1996, 1997, 1998, 2000, 2002, 2003, 2004
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ralf Baechle <ralf@gnu.org>.
@@ -26,6 +26,8 @@
 
 #include <sys/tas.h>
 
+#include <sgidefs.h>
+
 #ifndef PT_EI
 # define PT_EI extern inline __attribute__ ((always_inline))
 #endif
@@ -64,7 +66,7 @@ __compare_and_swap (long int *p, long in
 #if _MIPS_SIM == _MIPS_SIM_ABI32
      ".set	mips2\n\t"
 #endif
-#if defined _ABI64 && _MIPS_SIM == _ABI64
+#if _MIPS_SIM == _MIPS_SIM_ABI64
      "lld	%1,%5\n\t"
 #else
      "ll	%1,%5\n\t"
@@ -72,7 +74,7 @@ __compare_and_swap (long int *p, long in
      "move	%0,$0\n\t"
      "bne	%1,%3,2f\n\t"
      "move	%0,%4\n\t"
-#if defined _ABI64 && _MIPS_SIM == _ABI64
+#if _MIPS_SIM == _MIPS_SIM_ABI64
      "scd	%0,%2\n\t"
 #else
      "sc	%0,%2\n\t"
Index: sysdeps/mips/atomicity.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/mips/atomicity.h,v
retrieving revision 1.7
diff -u -p -r1.7 atomicity.h
--- sysdeps/mips/atomicity.h 14 Mar 2003 05:30:31 -0000 1.7
+++ sysdeps/mips/atomicity.h 2 Jul 2004 02:38:02 -0000
@@ -1,5 +1,5 @@
 /* Low-level functions for atomic operations. Mips version.
-   Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003, 2004 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
@@ -21,6 +21,7 @@
 #define _MIPS_ATOMICITY_H    1
 
 #include <inttypes.h>
+#include <sgidefs.h>
 
 static inline int
 __attribute__ ((unused))
@@ -85,7 +86,7 @@ compare_and_swap (volatile long int *p, 
 #if _MIPS_SIM == _MIPS_SIM_ABI32
      ".set	mips2\n\t"
 #endif
-#if defined _ABI64 && _MIPS_SIM == _ABI64
+#if _MIPS_SIM == _MIPS_SIM_ABI64
      "lld	%1,%5\n\t"
 #else
      "ll	%1,%5\n\t"
@@ -93,7 +94,7 @@ compare_and_swap (volatile long int *p, 
      "move	%0,$0\n\t"
      "bne	%1,%3,2f\n\t"
      "move	%0,%4\n\t"
-#if defined _ABI64 && _MIPS_SIM == _ABI64
+#if _MIPS_SIM == _MIPS_SIM_ABI64
      "scd	%0,%2\n\t"
 #else
      "sc	%0,%2\n\t"
Index: sysdeps/mips/dl-machine.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/mips/dl-machine.h,v
retrieving revision 1.72
diff -u -p -r1.72 dl-machine.h
--- sysdeps/mips/dl-machine.h 20 May 2004 22:07:15 -0000 1.72
+++ sysdeps/mips/dl-machine.h 2 Jul 2004 02:38:03 -0000
@@ -130,7 +130,7 @@ elf_machine_load_address (void)
 }
 
 /* The MSB of got[1] of a gnu object is set to identify gnu objects.  */
-#if defined _ABI64 && _MIPS_SIM == _ABI64
+#if _MIPS_SIM == _MIPS_SIM_ABI64
 # define ELF_MIPS_GNU_GOT1_MASK	0x8000000000000000L
 #else
 # define ELF_MIPS_GNU_GOT1_MASK	0x80000000L
Index: sysdeps/mips/machine-gmon.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/mips/machine-gmon.h,v
retrieving revision 1.7
diff -u -p -r1.7 machine-gmon.h
--- sysdeps/mips/machine-gmon.h 17 Mar 2003 15:53:37 -0000 1.7
+++ sysdeps/mips/machine-gmon.h 2 Jul 2004 02:38:03 -0000
@@ -1,5 +1,5 @@
 /* Machine-specific calling sequence for `mcount' profiling function.  MIPS
-   Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003
+   Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -18,6 +18,8 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <sgidefs.h>
+
 #define _MCOUNT_DECL(frompc,selfpc) \
 static void __attribute_used__ __mcount (u_long frompc, u_long selfpc)
 
@@ -81,10 +83,10 @@ static void __attribute_used__ __mcount 
 # define CPRETURN
 #endif
 
-#if defined _ABIN32 && _MIPS_SIM == _ABIN32
+#if _MIPS_SIM == _MIPS_SIM_NABI32
 # define PTR_ADDU_STRING "add" /* no u */
 # define PTR_SUBU_STRING "sub" /* no u */
-#elif defined _ABI64 && _MIPS_SIM == _ABI64
+#elif _MIPS_SIM == _MIPS_SIM_ABI64
 # define PTR_ADDU_STRING "daddu"
 # define PTR_SUBU_STRING "dsubu"
 #else
Index: sysdeps/mips/bits/setjmp.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/mips/bits/setjmp.h,v
retrieving revision 1.7
diff -u -p -r1.7 setjmp.h
--- sysdeps/mips/bits/setjmp.h 20 Mar 2003 22:29:44 -0000 1.7
+++ sysdeps/mips/bits/setjmp.h 2 Jul 2004 02:38:03 -0000
@@ -1,5 +1,5 @@
 /* Define the machine-dependent type `jmp_buf'.  MIPS version.
-   Copyright (C) 1992, 1993, 1995, 1997, 2000, 2002, 2003
+   Copyright (C) 1992, 1993, 1995, 1997, 2000, 2002, 2003, 2004
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -22,6 +22,8 @@
 # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
 #endif
 
+#include <sgidefs.h>
+
 typedef struct
   {
 #if _MIPS_SIM == _MIPS_SIM_ABI32
@@ -60,7 +62,7 @@ typedef struct
     int __fpc_csr;
 
     /* Callee-saved floating point registers.  */
-#if defined _ABI64 && _MIPS_SIM == _ABI64
+#if _MIPS_SIM == _MIPS_SIM_ABI64
     double __fpregs[8];
 #else
     double __fpregs[6];
Index: sysdeps/mips/fpu/bits/mathdef.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/mips/fpu/bits/mathdef.h,v
retrieving revision 1.2
diff -u -p -r1.2 mathdef.h
--- sysdeps/mips/fpu/bits/mathdef.h 15 Mar 2004 21:44:10 -0000 1.2
+++ sysdeps/mips/fpu/bits/mathdef.h 2 Jul 2004 02:38:03 -0000
@@ -21,6 +21,8 @@
 # error "Never use <bits/mathdef.h> directly; include <math.h> instead"
 #endif
 
+#include <sgidefs.h>
+
 #if defined  __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
 # define _MATH_H_MATHDEF	1
 
Index: sysdeps/mips/mips64/__longjmp.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/mips/mips64/__longjmp.c,v
retrieving revision 1.5
diff -u -p -r1.5 __longjmp.c
--- sysdeps/mips/mips64/__longjmp.c 20 Mar 2003 22:29:44 -0000 1.5
+++ sysdeps/mips/mips64/__longjmp.c 2 Jul 2004 02:38:03 -0000
@@ -1,4 +1,5 @@
-/* Copyright (C) 1992, 1995, 1997, 2000, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995, 1997, 2000, 2003, 2004
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Brendan Kehoe (brendan@zen.org).
 
@@ -38,7 +39,7 @@ __longjmp (env, val_arg)
   register int val asm ("a1");
 
   /* Pull back the floating point callee-saved registers.  */
-#if defined _ABI64 && _MIPS_SIM == _ABI64
+#if _MIPS_SIM == _MIPS_SIM_ABI64
   asm volatile ("l.d $f24, %0" : : "m" (env[0].__fpregs[0]));
   asm volatile ("l.d $f25, %0" : : "m" (env[0].__fpregs[1]));
   asm volatile ("l.d $f26, %0" : : "m" (env[0].__fpregs[2]));
Index: sysdeps/mips/mips64/setjmp_aux.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/mips/mips64/setjmp_aux.c,v
retrieving revision 1.4
diff -u -p -r1.4 setjmp_aux.c
--- sysdeps/mips/mips64/setjmp_aux.c 20 Mar 2003 22:29:44 -0000 1.4
+++ sysdeps/mips/mips64/setjmp_aux.c 2 Jul 2004 02:38:03 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Brendan Kehoe (brendan@zen.org).
 
@@ -29,7 +29,7 @@ __sigsetjmp_aux (jmp_buf env, int savema
 		 long long gp)
 {
   /* Store the floating point callee-saved registers...  */
-#if defined _ABI64 && _MIPS_SIM == _ABI64
+#if _MIPS_SIM == _MIPS_SIM_ABI64
   asm volatile ("s.d $f24, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[0]));
   asm volatile ("s.d $f25, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[1]));
   asm volatile ("s.d $f26, %0" : : "m" (env[0].__jmpbuf[0].__fpregs[2]));
Index: sysdeps/unix/sysv/linux/mips/Makefile
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/Makefile,v
retrieving revision 1.11
diff -u -p -r1.11 Makefile
--- sysdeps/unix/sysv/linux/mips/Makefile 3 Sep 2003 03:16:54 -0000 1.11
+++ sysdeps/unix/sysv/linux/mips/Makefile 2 Jul 2004 02:38:04 -0000
@@ -21,15 +21,16 @@ $(objpfx)syscall-%.h $(objpfx)syscall-%.
 	 echo '# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."'; \
 	 echo '#endif'; \
 	 echo ''; \
+	 echo '#include <sgidefs.h>'; \
 	 rm -f $(@:.d=.h).newt; \
 	 $(CC) -E -MD -MP -MF $(@:.h=.d)-t -MT '$(@:.d=.h) $(@:.h=.d)' \
 	       -x c -I $(common-objdir) $(sysincludes) $< -D_LIBC -dM | \
 	 sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p' \
 	     > $(@:.d=.h).newt; \
 	 if grep SYS_O32_ $(@:.d=.h).newt > /dev/null; then \
-	   echo '#if defined _ABI64 && _MIPS_SIM == _ABI64'; \
+	   echo '#if _MIPS_SIM == _MIPS_SIM_ABI64'; \
 	   sed -n 's/^\(#define SYS_\)N64_/\1/p' < $(@:.d=.h).newt; \
-	   echo '#elif defined _ABIN32 && _MIPS_SIM == _ABIN32'; \
+	   echo '#elif _MIPS_SIM == _MIPS_SIM_NABI32'; \
 	   sed -n 's/^\(#define SYS_\)N32_/\1/p' < $(@:.d=.h).newt; \
 	   echo '#else'; \
 	   sed -n 's/^\(#define SYS_\)O32_/\1/p' < $(@:.d=.h).newt; \
Index: sysdeps/unix/sysv/linux/mips/configure
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/configure,v
retrieving revision 1.6
diff -u -p -r1.6 configure
--- sysdeps/unix/sysv/linux/mips/configure 28 Mar 2003 06:11:03 -0000 1.6
+++ sysdeps/unix/sysv/linux/mips/configure 2 Jul 2004 02:38:04 -0000
@@ -30,6 +30,7 @@ echo "$as_me: WARNING: *** asm/unistd.h 
 	-e 's,__NR_N64_N32_,__NR_N32_,g' \
 	-e 's,__NR_N64_N64_,__NR_N64_,g' \
     | awk > asm-unistd.h '
+BEGIN { print "#include <sgidefs.h>"; }
 /^#define __NR.*unused/ { print; next; }
 /^#define __NR_N64__exit __NR_N64_exit/ {
 	print "#define __NR__exit __NR_exit";
@@ -50,7 +51,7 @@ echo "$as_me: WARNING: *** asm/unistd.h 
 	name = $2;
 	sub (/_N32_/, "_", name);
 	print;
-	print "#if defined _ABIN32 && _MIPS_SIM == _ABIN32";
+	print "#if _MIPS_SIM == _MIPS_SIM_NABI32";
 	print "# define " name " " $2;
 	print "#endif";
 	next;
@@ -59,7 +60,7 @@ echo "$as_me: WARNING: *** asm/unistd.h 
 	name = $2;
 	sub (/_N64_/, "_", name);
 	print;
-	print "#if defined _ABI64 && _MIPS_SIM == _ABI64";
+	print "#if _MIPS_SIM == _MIPS_SIM_ABI64";
 	print "# define " name " " $2;
 	print "#endif";
 	next;
Index: sysdeps/unix/sysv/linux/mips/configure.in
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/configure.in,v
retrieving revision 1.5
diff -u -p -r1.5 configure.in
--- sysdeps/unix/sysv/linux/mips/configure.in 17 Mar 2003 15:50:05 -0000 1.5
+++ sysdeps/unix/sysv/linux/mips/configure.in 2 Jul 2004 02:38:04 -0000
@@ -30,6 +30,7 @@ mips*64*)
 	-e 's,__NR_N64_N32_,__NR_N32_,g' \
 	-e 's,__NR_N64_N64_,__NR_N64_,g' \
     | awk > asm-unistd.h '
+BEGIN { print "#include <sgidefs.h>"; }
 /^#define __NR.*unused/ { print; next; }
 /^#define __NR_N64__exit __NR_N64_exit/ {
 	print "#define __NR__exit __NR_exit";
@@ -50,7 +51,7 @@ mips*64*)
 	name = $2;
 	sub (/_N32_/, "_", name);
 	print;
-	print "#if defined _ABIN32 && _MIPS_SIM == _ABIN32";
+	print "#if _MIPS_SIM == _MIPS_SIM_NABI32";
 	print "# define " name " " $2;
 	print "#endif";
 	next;
@@ -59,7 +60,7 @@ mips*64*)
 	name = $2;
 	sub (/_N64_/, "_", name);
 	print;
-	print "#if defined _ABI64 && _MIPS_SIM == _ABI64";
+	print "#if _MIPS_SIM == _MIPS_SIM_ABI64";
 	print "# define " name " " $2;
 	print "#endif";
 	next;
Index: sysdeps/unix/sysv/linux/mips/kernel_stat.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/kernel_stat.h,v
retrieving revision 1.4
diff -u -p -r1.4 kernel_stat.h
--- sysdeps/unix/sysv/linux/mips/kernel_stat.h 5 Apr 2003 19:57:35 -0000 1.4
+++ sysdeps/unix/sysv/linux/mips/kernel_stat.h 2 Jul 2004 02:38:05 -0000
@@ -1,3 +1,4 @@
+#include <sgidefs.h>
 /* As tempting as it is to define XSTAT_IS_XSTAT64 for n64, the
    userland data structures are not identical, because of different
    padding.  */
Index: sysdeps/unix/sysv/linux/mips/pread.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/pread.c,v
retrieving revision 1.13
diff -u -p -r1.13 pread.c
--- sysdeps/unix/sysv/linux/mips/pread.c 10 Sep 2003 23:38:52 -0000 1.13
+++ sysdeps/unix/sysv/linux/mips/pread.c 2 Jul 2004 02:38:05 -0000
@@ -1,4 +1,5 @@
-/* Copyright (C) 1997, 1998, 2000, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2000, 2002, 2003, 2004
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -27,6 +28,7 @@
 #include <bp-checks.h>
 
 #include <kernel-features.h>
+#include <sgidefs.h>
 
 #ifdef __NR_pread64             /* Newer kernels renamed but it's the same.  */
 # ifdef __NR_pread
@@ -51,14 +53,14 @@ __libc_pread (fd, buf, count, offset)
 {
   ssize_t result;
 
-#if (defined _ABI64 && _MIPS_SIM != _ABI64)
+#if _MIPS_SIM != _MIPS_SIM_ABI64
   assert (sizeof (offset) == 4);
 #endif
 
   if (SINGLE_THREAD_P)
     {
       /* First try the syscall.  */
-#if (defined _ABIN32 && _MIPS_SIM == _ABIN32) || (defined _ABI64 && _MIPS_SIM == _ABI64)
+#if _MIPS_SIM == _MIPS_SIM_NABI32 || _MIPS_SIM == _MIPS_SIM_ABI64
       result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
 			       offset);
 #else
@@ -76,7 +78,7 @@ __libc_pread (fd, buf, count, offset)
   int oldtype = LIBC_CANCEL_ASYNC ();
 
   /* First try the syscall.  */
-#if (defined _ABIN32 && _MIPS_SIM == _ABIN32) || (defined _ABI64 && _MIPS_SIM == _ABI64)
+#if _MIPS_SIM == _MIPS_SIM_NABI32 || _MIPS_SIM_ABI64
   result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count, offset);
 #else
   result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
Index: sysdeps/unix/sysv/linux/mips/pread64.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/pread64.c,v
retrieving revision 1.13
diff -u -p -r1.13 pread64.c
--- sysdeps/unix/sysv/linux/mips/pread64.c 10 Sep 2003 23:38:52 -0000 1.13
+++ sysdeps/unix/sysv/linux/mips/pread64.c 2 Jul 2004 02:38:05 -0000
@@ -1,4 +1,5 @@
-/* Copyright (C) 1997, 1998, 2000, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2000, 2002, 2003, 2004
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -26,6 +27,7 @@
 #include <bp-checks.h>
 
 #include <kernel-features.h>
+#include <sgidefs.h>
 
 #ifdef __NR_pread64             /* Newer kernels renamed but it's the same.  */
 # ifdef __NR_pread
@@ -54,7 +56,7 @@ __libc_pread64 (fd, buf, count, offset)
   if (SINGLE_THREAD_P)
     {
      /* First try the syscall.  */
-#if (defined _ABIN32 && _MIPS_SIM == _ABIN32) || (defined _ABI64 && _MIPS_SIM == _ABI64)
+#if _MIPS_SIM == _MIPS_SIM_NABI32 || _MIPS_SIM == _MIPS_SIM_ABI64
       result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
 			       offset);
 #else
@@ -73,7 +75,7 @@ __libc_pread64 (fd, buf, count, offset)
   int oldtype = LIBC_CANCEL_ASYNC ();
 
   /* First try the syscall.  */
-#if (defined _ABIN32 && _MIPS_SIM == _ABIN32) || (defined _ABI64 && _MIPS_SIM == _ABI64)
+#if _MIPS_SIM == _MIPS_SIM_NABI32 || _MIPS_SIM == _MIPS_SIM_ABI64
   result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count, offset);
 #else
   result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
Index: sysdeps/unix/sysv/linux/mips/ptrace.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/ptrace.c,v
retrieving revision 1.2
diff -u -p -r1.2 ptrace.c
--- sysdeps/unix/sysv/linux/mips/ptrace.c 3 Sep 2003 03:21:27 -0000 1.2
+++ sysdeps/unix/sysv/linux/mips/ptrace.c 2 Jul 2004 02:38:05 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 1998, 2000, 2002, 2003
+/* Copyright (C) 1995, 1996, 1997, 1998, 2000, 2002, 2003, 2004
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -26,8 +26,9 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 #include <bp-checks.h>
+#include <sgidefs.h>
 
-#if defined _ABIN32 && _MIPS_SIM == _ABIN32
+#if  _MIPS_SIM == _MIPS_SIM_NABI32
 __extension__ typedef long long int reg_type;
 #else
 typedef long int reg_type;
Index: sysdeps/unix/sysv/linux/mips/pwrite.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/pwrite.c,v
retrieving revision 1.13
diff -u -p -r1.13 pwrite.c
--- sysdeps/unix/sysv/linux/mips/pwrite.c 10 Sep 2003 23:38:52 -0000 1.13
+++ sysdeps/unix/sysv/linux/mips/pwrite.c 2 Jul 2004 02:38:05 -0000
@@ -1,4 +1,5 @@
-/* Copyright (C) 1997, 1998, 2000, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2000, 2002, 2003, 2004
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -27,6 +28,7 @@
 #include <bp-checks.h>
 
 #include <kernel-features.h>
+#include <sgidefs.h>
 
 #ifdef __NR_pwrite64            /* Newer kernels renamed but it's the same.  */
 # ifdef __NR_pwrite
@@ -51,14 +53,14 @@ __libc_pwrite (fd, buf, count, offset)
 {
   ssize_t result;
 
-#if (defined _ABI64 && _MIPS_SIM != _ABI64)
+#if _MIPS_SIM == _MIPS_SIM_ABI64
   assert (sizeof (offset) == 4);
 #endif
 
   if (SINGLE_THREAD_P)
     {
       /* First try the syscall.  */
-#if (defined _ABIN32 && _MIPS_SIM == _ABIN32) || (defined _ABI64 && _MIPS_SIM == _ABI64)
+#if _MIPS_SIM == _MIPS_SIM_NABI32 || _MIPS_SIM == _MIPS_SIM_ABI64
       result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
 			       offset);
 #else
@@ -76,7 +78,7 @@ __libc_pwrite (fd, buf, count, offset)
   int oldtype = LIBC_CANCEL_ASYNC ();
 
   /* First try the syscall.  */
-#if (defined _ABIN32 && _MIPS_SIM == _ABIN32) || (defined _ABI64 && _MIPS_SIM == _ABI64)
+#if _MIPS_SIM == _MIPS_SIM_NABI32 || _MIPS_SIM == _MIPS_SIM_ABI64
   result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count, offset);
 #else
   result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count, 0,
Index: sysdeps/unix/sysv/linux/mips/pwrite64.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/pwrite64.c,v
retrieving revision 1.14
diff -u -p -r1.14 pwrite64.c
--- sysdeps/unix/sysv/linux/mips/pwrite64.c 10 Sep 2003 23:38:52 -0000 1.14
+++ sysdeps/unix/sysv/linux/mips/pwrite64.c 2 Jul 2004 02:38:05 -0000
@@ -1,4 +1,5 @@
-/* Copyright (C) 1997, 1998, 2000, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2000, 2002, 2003, 2004
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ralf Baechle <ralf@gnu.org>, 1998.
 
@@ -53,7 +54,7 @@ __libc_pwrite64 (fd, buf, count, offset)
   if (SINGLE_THREAD_P)
     {
      /* First try the syscall.  */
-#if (defined _ABIN32 && _MIPS_SIM == _ABIN32) || (defined _ABI64 && _MIPS_SIM == _ABI64)
+#if _MIPS_SIM == _MIPS_SIM_NABI32 || _MIPS_SIM == _MIPS_SIM_ABI64
       result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
 			       offset);
 #else
@@ -73,7 +74,7 @@ __libc_pwrite64 (fd, buf, count, offset)
   int oldtype = LIBC_CANCEL_ASYNC ();
 
   /* First try the syscall.  */
-#if (defined _ABIN32 && _MIPS_SIM == _ABIN32) || (defined _ABI64 && _MIPS_SIM == _ABI64)
+#if _MIPS_SIM == _MIPS_SIM_NABI32 || _MIPS_SIM == _MIPS_SIM_ABI64
   result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count, offset);
 #else
   result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count, 0,
Index: sysdeps/unix/sysv/linux/mips/sigaction.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/sigaction.c,v
retrieving revision 1.7
diff -u -p -r1.7 sigaction.c
--- sysdeps/unix/sysv/linux/mips/sigaction.c 3 Sep 2003 03:21:27 -0000 1.7
+++ sysdeps/unix/sysv/linux/mips/sigaction.c 2 Jul 2004 02:38:05 -0000
@@ -1,4 +1,5 @@
-/* Copyright (C) 1997,1998,1999,2000,2002,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,1999,2000,2002,2003, 2004
+   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
@@ -23,6 +24,8 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
+#include <sgidefs.h>
+
 #include "kernel-features.h"
 
 /* The difference here is that the sigaction structure used in the
Index: sysdeps/unix/sysv/linux/mips/sigcontextinfo.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h,v
retrieving revision 1.7
diff -u -p -r1.7 sigcontextinfo.h
--- sysdeps/unix/sysv/linux/mips/sigcontextinfo.h 13 Apr 2003 11:36:32 -0000 1.7
+++ sysdeps/unix/sysv/linux/mips/sigcontextinfo.h 2 Jul 2004 02:38:05 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Jaeger <aj@suse.de>, 2000.
 
@@ -18,6 +18,8 @@
    02111-1307 USA.  */
 
 
+#include <sgidefs.h>
+
 #if _MIPS_SIM == _MIPS_SIM_ABI32
 
 #define SIGCONTEXT unsigned long _code, struct sigcontext *
Index: sysdeps/unix/sysv/linux/mips/bits/fcntl.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/bits/fcntl.h,v
retrieving revision 1.18
diff -u -p -r1.18 fcntl.h
--- sysdeps/unix/sysv/linux/mips/bits/fcntl.h 3 May 2004 21:39:38 -0000 1.18
+++ sysdeps/unix/sysv/linux/mips/bits/fcntl.h 2 Jul 2004 02:38:05 -0000
@@ -23,7 +23,7 @@
 #endif
 
 #include <sys/types.h>
-
+#include <sgidefs.h>
 
 /* open/fcntl - O_SYNC is only implemented on blocks devices and on files
    located on an ext2 file system */
@@ -143,7 +143,7 @@ typedef struct flock
 #ifndef __USE_FILE_OFFSET64
     __off_t l_start;	/* Offset where the lock begins.  */
     __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
-#if ! (defined _ABI64 && _MIPS_SIM == _ABI64)
+#if _MIPS_SIM != _MIPS_SIM_ABI64
     /* The 64-bit flock structure, used by the n64 ABI, and for 64-bit
        fcntls in o32 and n32, never has this field.  */
     long int l_sysid;
@@ -153,7 +153,7 @@ typedef struct flock
     __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
 #endif
     __pid_t l_pid;	/* Process holding the lock.  */
-#if ! defined __USE_FILE_OFFSET64 && ! (defined _ABI64 && _MIPS_SIM == _ABI64)
+#if ! defined __USE_FILE_OFFSET64 && _MIPS_SIM != _MIPS_SIM_ABI64
     /* The 64-bit flock structure, used by the n64 ABI, and for 64-bit
        flock in o32 and n32, never has this field.  */
     long int pad[4];
Index: sysdeps/unix/sysv/linux/mips/bits/sigcontext.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/bits/sigcontext.h,v
retrieving revision 1.1
diff -u -p -r1.1 sigcontext.h
--- sysdeps/unix/sysv/linux/mips/bits/sigcontext.h 13 Apr 2003 11:36:32 -0000 1.1
+++ sysdeps/unix/sysv/linux/mips/bits/sigcontext.h 2 Jul 2004 02:38:05 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 2003, 2004 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
@@ -20,6 +20,8 @@
 # error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
 #endif
 
+#include <sgidefs.h>
+
 #ifndef sigcontext_struct
 /* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
    we need sigcontext.  */
Index: sysdeps/unix/sysv/linux/mips/bits/stat.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/bits/stat.h,v
retrieving revision 1.13
diff -u -p -r1.13 stat.h
--- sysdeps/unix/sysv/linux/mips/bits/stat.h 5 Apr 2003 19:57:35 -0000 1.13
+++ sysdeps/unix/sysv/linux/mips/bits/stat.h 2 Jul 2004 02:38:05 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003
+/* Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -21,6 +21,8 @@
 # error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
 #endif
 
+#include <sgidefs.h>
+
 /* Versions of the `struct stat' data structure.  */
 #define _STAT_VER_LINUX_OLD	1
 #define _STAT_VER_KERNEL	1
Index: sysdeps/unix/sysv/linux/mips/sys/procfs.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/sys/procfs.h,v
retrieving revision 1.9
diff -u -p -r1.9 procfs.h
--- sysdeps/unix/sysv/linux/mips/sys/procfs.h 17 Mar 2003 15:47:13 -0000 1.9
+++ sysdeps/unix/sysv/linux/mips/sys/procfs.h 2 Jul 2004 02:38:05 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003
+/* Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -28,12 +28,13 @@
 #include <sys/time.h>
 #include <sys/types.h>
 #include <sys/user.h>
+#include <sgidefs.h>
 
 /* ELF register definitions */
 #define ELF_NGREG	45
 #define ELF_NFPREG	33
 
-#if defined _ABIN32 && _MIPS_SIM == _ABIN32
+#if _MIPS_SIM == _MIPS_SIM_NABI32
 __extension__ typedef unsigned long long elf_greg_t;
 #else
 typedef unsigned long elf_greg_t;
@@ -64,7 +65,7 @@ struct elf_prstatus
   {
     struct elf_siginfo pr_info;		/* Info associated with signal.  */
     short int pr_cursig;		/* Current signal.  */
-#if defined _ABIN32 && _MIPS_SIM == _ABIN32
+#if _MIPS_SIM == _MIPS_SIM_NABI32
     __extension__ unsigned long long int pr_sigpend;
     __extension__ unsigned long long int pr_sighold;
 #else
@@ -92,7 +93,7 @@ struct elf_prpsinfo
     char pr_sname;			/* Char for pr_state.  */
     char pr_zomb;			/* Zombie.  */
     char pr_nice;			/* Nice val.  */
-#if defined _ABIN32 && _MIPS_SIM == _ABIN32
+#if _MIPS_SIM == _MIPS_SIM_NABI32
     __extension__ unsigned long long int pr_flag;
 #else
     unsigned long int pr_flag;		/* Flags.  */
Index: sysdeps/unix/sysv/linux/mips/sys/ptrace.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/sys/ptrace.h,v
retrieving revision 1.1
diff -u -p -r1.1 ptrace.h
--- sysdeps/unix/sysv/linux/mips/sys/ptrace.h 17 Mar 2003 15:48:52 -0000 1.1
+++ sysdeps/unix/sysv/linux/mips/sys/ptrace.h 2 Jul 2004 02:38:05 -0000
@@ -1,5 +1,5 @@
 /* `ptrace' debugger support interface.  Linux version.
-   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -22,6 +22,7 @@
 #define _SYS_PTRACE_H	1
 
 #include <features.h>
+#include <sgidefs.h>
 
 __BEGIN_DECLS
 
@@ -123,7 +124,7 @@ enum __ptrace_request
    appear (those that are used for the particular request) as:
      pid_t PID, void *ADDR, int DATA, void *ADDR2
    after REQUEST.  */
-#if defined _ABIN32 && _MIPS_SIM == _ABIN32
+#if _MIPS_SIM == _MIPS_SIM_NABI32
 __extension__ extern long long int ptrace
   (enum __ptrace_request __request, ...) __THROW;
 #else
Index: sysdeps/unix/sysv/linux/mips/sys/tas.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/sys/tas.h,v
retrieving revision 1.10
diff -u -p -r1.10 tas.h
--- sysdeps/unix/sysv/linux/mips/sys/tas.h 14 Mar 2003 07:03:36 -0000 1.10
+++ sysdeps/unix/sysv/linux/mips/sys/tas.h 2 Jul 2004 02:38:05 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Maciej W. Rozycki <macro@ds2.pg.gda.pl>, 2000.
 
@@ -22,6 +22,8 @@
 
 #include <features.h>
 
+#include <sgidefs.h>
+
 __BEGIN_DECLS
 
 extern int _test_and_set (int *p, int v) __THROW;
Index: sysdeps/unix/sysv/linux/mips/sys/ucontext.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/sys/ucontext.h,v
retrieving revision 1.8
diff -u -p -r1.8 ucontext.h
--- sysdeps/unix/sysv/linux/mips/sys/ucontext.h 30 Apr 2003 23:22:09 -0000 1.8
+++ sysdeps/unix/sysv/linux/mips/sys/ucontext.h 2 Jul 2004 02:38:06 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 2000, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2000, 2003, 2004 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
@@ -28,6 +28,7 @@
    included in <signal.h>.  */
 #include <bits/sigcontext.h>
 
+#include <sgidefs.h>
 
 /* Type for general register.  Even in o32 we assume 64-bit registers,
    like the kernel.  */
Index: sysdeps/unix/sysv/linux/mips/sys/user.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/sys/user.h,v
retrieving revision 1.2
diff -u -p -r1.2 user.h
--- sysdeps/unix/sysv/linux/mips/sys/user.h 13 Apr 2003 11:36:32 -0000 1.2
+++ sysdeps/unix/sysv/linux/mips/sys/user.h 2 Jul 2004 02:38:06 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 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,8 @@
 #ifndef _SYS_USER_H
 #define _SYS_USER_H	1
 
+#include <sgidefs.h>
+
 /* The whole purpose of this file is for GDB and GDB only.  Don't read
    too much into it.  Don't use it for anything other than GDB unless
    you know what you are doing.  */
Index: ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Update to use
	_dl_lookup_symbol_x.
	(elf_machine_runtime_link_map): Don't INTUSE _dl_signal_error.

Index: sysdeps/mips/dl-machine.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/mips/dl-machine.h,v
retrieving revision 1.72
diff -u -p -r1.72 dl-machine.h
--- sysdeps/mips/dl-machine.h 20 May 2004 22:07:15 -0000 1.72
+++ sysdeps/mips/dl-machine.h 2 Jul 2004 05:35:49 -0000
@@ -254,7 +254,7 @@ elf_machine_runtime_link_map (ElfW(Addr)
 	}
     }
 
-  INTUSE (_dl_signal_error) (0, NULL, NULL, "cannot find runtime link map");
+  _dl_signal_error (0, NULL, NULL, "cannot find runtime link map");
   return NULL;
 }
 
@@ -366,17 +366,17 @@ __dl_runtime_resolve (ElfW(Word) sym_ind
 									      \
 	    if (version->hash != 0)					      \
 	      {								      \
-		value = _dl_lookup_versioned_symbol(strtab + sym->st_name, l, \
-						    &sym, l->l_scope, version,\
-						    ELF_RTYPE_CLASS_PLT, 0);  \
+		value = _dl_lookup_symbol_x (strtab + sym->st_name, l, 	      \
+					     &sym, l->l_scope, version,	      \
+					     ELF_RTYPE_CLASS_PLT, 0, 0);      \
 		break;							      \
 	      }								      \
 	    /* Fall through.  */					      \
 	  }								      \
 	case 0:								      \
-	  value = _dl_lookup_symbol (strtab + sym->st_name, l, &sym,	      \
-				     l->l_scope, ELF_RTYPE_CLASS_PLT,	      \
-				     DL_LOOKUP_ADD_DEPENDENCY);		      \
+	  value = _dl_lookup_symbol_x (strtab + sym->st_name, l, &sym,	      \
+				       l->l_scope, 0, ELF_RTYPE_CLASS_PLT,    \
+				       DL_LOOKUP_ADD_DEPENDENCY, 0);	      \
 	}								      \
 									      \
       /* Currently value contains the base load address of the object	      \
Index: linuxthreads/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/unix/sysv/linux/mips/Makefile (CFLAGS-pt-initfini.s):
	Remove redundant override that missed -g0.

Index: linuxthreads/sysdeps/unix/sysv/linux/mips/Makefile
===================================================================
RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/unix/sysv/linux/mips/Makefile,v
retrieving revision 1.2
diff -u -p -r1.2 Makefile
--- linuxthreads/sysdeps/unix/sysv/linux/mips/Makefile 31 May 2004 06:13:34 -0000 1.2
+++ linuxthreads/sysdeps/unix/sysv/linux/mips/Makefile 2 Jul 2004 06:00:56 -0000
@@ -1,6 +1,2 @@
 # pull in __syscall_error routine
 libpthread-routines += sysdep
-
-ifeq ($(subdir),linuxthreads)
-CFLAGS-pt-initfini.s = $(fno-unit-at-a-time)
-endif
Index: ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/unix/sysv/linux/mips/mips64/semtimedop.c: New.

Index: sysdeps/unix/sysv/linux/mips/mips64/semtimedop.c
===================================================================
RCS file: sysdeps/unix/sysv/linux/mips/mips64/semtimedop.c
diff -N sysdeps/unix/sysv/linux/mips/mips64/semtimedop.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sysdeps/unix/sysv/linux/mips/mips64/semtimedop.c 2 Jul 2004 09:18:54 -0000
@@ -0,0 +1,45 @@
+/* Copyright (C) 2004 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Alexandre Oliva <aoliva@redhat.com>
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <sys/syscall.h>
+
+#if defined __NR_semtimedop
+#include <errno.h>
+#include <sys/sem.h>
+#include <ipc_priv.h>
+
+#include <sysdep.h>
+
+int
+semtimedop (semid, sops, nsops, timeout)
+     int semid;
+     struct sembuf *sops;
+     size_t nsops;
+     const struct timespec *timeout;
+{
+  return INLINE_SYSCALL (semtimedop, 4, semid, sops, nsops, timeout);
+}
+
+#elif defined __NR_ipc
+# include <sysdeps/unix/sysv/linux/semtimedop.c>
+
+#else
+# include <sysdeps/generic/semtimedop.c>
+
+#endif
Index: ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h):
	Sort by syscalls.  Make sure we get headers such as sgidefs.h from
	the build tree before just-installed ones.

Index: sysdeps/unix/sysv/linux/mips/Makefile
===================================================================
RCS file: /cvs/cvsfiles/devo/glibc/sysdeps/unix/sysv/linux/mips/Makefile,v
retrieving revision 1.8
diff -u -p -r1.8 Makefile
--- sysdeps/unix/sysv/linux/mips/Makefile 27 Feb 2004 08:36:12 -0000 1.8
+++ sysdeps/unix/sysv/linux/mips/Makefile 2 Jul 2004 21:07:42 -0000
@@ -24,18 +24,22 @@ $(objpfx)syscall-%.h $(objpfx)syscall-%.
	 echo '#include <sgidefs.h>'; \
 	 rm -f $(@:.d=.h).newt; \
 	 $(CC) -E -MD -MP -MF $(@:.h=.d)-t -MT '$(@:.d=.h) $(@:.h=.d)' \
-	       -x c -I $(common-objdir) $(sysincludes) $< -D_LIBC -dM | \
+	       -x c $(+includes) $(sysincludes) $< -D_LIBC -dM | \
 	 sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p' \
 	     > $(@:.d=.h).newt; \
 	 if grep SYS_O32_ $(@:.d=.h).newt > /dev/null; then \
-	   echo '#if _MIPS_SIM == _MIPS_SIM_ABI64'; \
-	   sed -n 's/^\(#define SYS_\)N64_/\1/p' < $(@:.d=.h).newt; \
-	   echo '#elif _MIPS_SIM == _MIPS_SIM_NABI32'; \
-	   sed -n 's/^\(#define SYS_\)N32_/\1/p' < $(@:.d=.h).newt; \
+	   echo '#if _MIPS_SIM == _MIPS_SIM_NABI32'; \
+	   sed -n 's/^\(#define SYS_\)N32_/\1/p' < $(@:.d=.h).newt | \
+		LC_ALL=C sort; \
+	   echo '#elif _MIPS_SIM == _MIPS_SIM_ABI64'; \
+	   sed -n 's/^\(#define SYS_\)N64_/\1/p' < $(@:.d=.h).newt | \
+		LC_ALL=C sort; \
 	   echo '#else'; \
-	   sed -n 's/^\(#define SYS_\)O32_/\1/p' < $(@:.d=.h).newt; \
+	   sed -n 's/^\(#define SYS_\)O32_/\1/p' < $(@:.d=.h).newt | \
+		LC_ALL=C sort; \
 	   echo '#endif'; \
-	   sed -n '/^#define SYS_\([ON]32\|N64\)_/p' < $(@:.d=.h).newt; \
+	   sed -n '/^#define SYS_\([ON]32\|N64\)_/p' < $(@:.d=.h).newt | \
+		LC_ALL=C sort +1.8; \
 	 else \
 	   cat $(@:.d=.h).newt; \
 	 fi; \
-- 
Alexandre Oliva             http://www.ic.unicamp.br/~oliva/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]