aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog32
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/sysdeps/mips/pspinlock.c4
-rw-r--r--linuxthreads/sysdeps/mips/pt-machine.h8
-rw-r--r--sysdeps/mips/atomicity.h7
-rw-r--r--sysdeps/mips/bits/setjmp.h6
-rw-r--r--sysdeps/mips/dl-machine.h2
-rw-r--r--sysdeps/mips/fpu/bits/mathdef.h2
-rw-r--r--sysdeps/mips/machine-gmon.h8
-rw-r--r--sysdeps/mips/mips64/__longjmp.c5
-rw-r--r--sysdeps/mips/mips64/setjmp_aux.c4
-rw-r--r--sysdeps/unix/sysv/linux/mips/Makefile19
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/fcntl.h6
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/sigcontext.h4
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/stat.h4
-rwxr-xr-xsysdeps/unix/sysv/linux/mips/configure5
-rw-r--r--sysdeps/unix/sysv/linux/mips/configure.in5
-rw-r--r--sysdeps/unix/sysv/linux/mips/kernel_stat.h1
-rw-r--r--sysdeps/unix/sysv/linux/mips/pread.c10
-rw-r--r--sysdeps/unix/sysv/linux/mips/pread64.c8
-rw-r--r--sysdeps/unix/sysv/linux/mips/ptrace.c5
-rw-r--r--sysdeps/unix/sysv/linux/mips/pwrite.c10
-rw-r--r--sysdeps/unix/sysv/linux/mips/pwrite64.c7
-rw-r--r--sysdeps/unix/sysv/linux/mips/sigaction.c5
-rw-r--r--sysdeps/unix/sysv/linux/mips/sigcontextinfo.h4
-rw-r--r--sysdeps/unix/sysv/linux/mips/sys/procfs.h9
-rw-r--r--sysdeps/unix/sysv/linux/mips/sys/ptrace.h5
-rw-r--r--sysdeps/unix/sysv/linux/mips/sys/tas.h4
-rw-r--r--sysdeps/unix/sysv/linux/mips/sys/ucontext.h3
-rw-r--r--sysdeps/unix/sysv/linux/mips/sys/user.h4
30 files changed, 141 insertions, 60 deletions
diff --git a/ChangeLog b/ChangeLog
index e24b84b..6ce6a74 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,37 @@
2004-07-20 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.
+
+ * 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.
+
* 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.
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 60ef3f7..a960087 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+2004-07-20 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.
+
2004-07-19 Alexandre Oliva <aoliva@redhat.com>
* sysdeps/unix/sysv/linux/mips/Makefile (CFLAGS-pt-initfini.s):
diff --git a/linuxthreads/sysdeps/mips/pspinlock.c b/linuxthreads/sysdeps/mips/pspinlock.c
index a9fb19f..b04b9ff 100644
--- a/linuxthreads/sysdeps/mips/pspinlock.c
+++ b/linuxthreads/sysdeps/mips/pspinlock.c
@@ -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)
diff --git a/linuxthreads/sysdeps/mips/pt-machine.h b/linuxthreads/sysdeps/mips/pt-machine.h
index f9028d2..c2f448e 100644
--- a/linuxthreads/sysdeps/mips/pt-machine.h
+++ b/linuxthreads/sysdeps/mips/pt-machine.h
@@ -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 int oldval, long int newval)
#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 int oldval, long int newval)
"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"
diff --git a/sysdeps/mips/atomicity.h b/sysdeps/mips/atomicity.h
index 5148121..f3d05bd 100644
--- a/sysdeps/mips/atomicity.h
+++ b/sysdeps/mips/atomicity.h
@@ -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, long int oldval, long int newval)
#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, long int oldval, long int newval)
"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"
diff --git a/sysdeps/mips/bits/setjmp.h b/sysdeps/mips/bits/setjmp.h
index b2ee374..4ca199d 100644
--- a/sysdeps/mips/bits/setjmp.h
+++ b/sysdeps/mips/bits/setjmp.h
@@ -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];
diff --git a/sysdeps/mips/dl-machine.h b/sysdeps/mips/dl-machine.h
index 570ac5b..bfd3a62 100644
--- a/sysdeps/mips/dl-machine.h
+++ b/sysdeps/mips/dl-machine.h
@@ -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
diff --git a/sysdeps/mips/fpu/bits/mathdef.h b/sysdeps/mips/fpu/bits/mathdef.h
index 4a51768..c1ce876 100644
--- a/sysdeps/mips/fpu/bits/mathdef.h
+++ b/sysdeps/mips/fpu/bits/mathdef.h
@@ -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
diff --git a/sysdeps/mips/machine-gmon.h b/sysdeps/mips/machine-gmon.h
index 5a87c85..f23a4c3 100644
--- a/sysdeps/mips/machine-gmon.h
+++ b/sysdeps/mips/machine-gmon.h
@@ -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 (u_long frompc, u_long selfpc)
# 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
diff --git a/sysdeps/mips/mips64/__longjmp.c b/sysdeps/mips/mips64/__longjmp.c
index 32587d1..b270579 100644
--- a/sysdeps/mips/mips64/__longjmp.c
+++ b/sysdeps/mips/mips64/__longjmp.c
@@ -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]));
diff --git a/sysdeps/mips/mips64/setjmp_aux.c b/sysdeps/mips/mips64/setjmp_aux.c
index b55a3c6..b5afd14 100644
--- a/sysdeps/mips/mips64/setjmp_aux.c
+++ b/sysdeps/mips/mips64/setjmp_aux.c
@@ -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 savemask, long long sp, long long fp,
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]));
diff --git a/sysdeps/unix/sysv/linux/mips/Makefile b/sysdeps/unix/sysv/linux/mips/Makefile
index d65175f..db06a48 100644
--- a/sysdeps/unix/sysv/linux/mips/Makefile
+++ b/sysdeps/unix/sysv/linux/mips/Makefile
@@ -21,20 +21,25 @@ $(objpfx)syscall-%.h $(objpfx)syscall-%.d: ../sysdeps/unix/sysv/linux/mips/sys/s
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 | \
+ -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 defined _ABI64 && _MIPS_SIM == _ABI64'; \
- sed -n 's/^\(#define SYS_\)N64_/\1/p' < $(@:.d=.h).newt; \
- echo '#elif defined _ABIN32 && _MIPS_SIM == _ABIN32'; \
- 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; \
diff --git a/sysdeps/unix/sysv/linux/mips/bits/fcntl.h b/sysdeps/unix/sysv/linux/mips/bits/fcntl.h
index 720e0a9..48531d8 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/fcntl.h
@@ -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];
diff --git a/sysdeps/unix/sysv/linux/mips/bits/sigcontext.h b/sysdeps/unix/sysv/linux/mips/bits/sigcontext.h
index 888c05f..19f5881 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/sigcontext.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/sigcontext.h
@@ -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. */
diff --git a/sysdeps/unix/sysv/linux/mips/bits/stat.h b/sysdeps/unix/sysv/linux/mips/bits/stat.h
index c3819d3..2dd4cab 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/stat.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/stat.h
@@ -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
diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure
index 9a7b423..8ee636f 100755
--- a/sysdeps/unix/sysv/linux/mips/configure
+++ b/sysdeps/unix/sysv/linux/mips/configure
@@ -30,6 +30,7 @@ echo "$as_me: WARNING: *** asm/unistd.h not found, it will not be pre-processed"
-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 not found, it will not be pre-processed"
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 not found, it will not be pre-processed"
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;
diff --git a/sysdeps/unix/sysv/linux/mips/configure.in b/sysdeps/unix/sysv/linux/mips/configure.in
index 3df0c91..6783bc2 100644
--- a/sysdeps/unix/sysv/linux/mips/configure.in
+++ b/sysdeps/unix/sysv/linux/mips/configure.in
@@ -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;
diff --git a/sysdeps/unix/sysv/linux/mips/kernel_stat.h b/sysdeps/unix/sysv/linux/mips/kernel_stat.h
index 3f1bce5..6a4c409 100644
--- a/sysdeps/unix/sysv/linux/mips/kernel_stat.h
+++ b/sysdeps/unix/sysv/linux/mips/kernel_stat.h
@@ -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. */
diff --git a/sysdeps/unix/sysv/linux/mips/pread.c b/sysdeps/unix/sysv/linux/mips/pread.c
index 7a9b086..d2a6c69 100644
--- a/sysdeps/unix/sysv/linux/mips/pread.c
+++ b/sysdeps/unix/sysv/linux/mips/pread.c
@@ -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,
diff --git a/sysdeps/unix/sysv/linux/mips/pread64.c b/sysdeps/unix/sysv/linux/mips/pread64.c
index 25f80df..b63bb9c 100644
--- a/sysdeps/unix/sysv/linux/mips/pread64.c
+++ b/sysdeps/unix/sysv/linux/mips/pread64.c
@@ -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,
diff --git a/sysdeps/unix/sysv/linux/mips/ptrace.c b/sysdeps/unix/sysv/linux/mips/ptrace.c
index 78c662a..af8266d 100644
--- a/sysdeps/unix/sysv/linux/mips/ptrace.c
+++ b/sysdeps/unix/sysv/linux/mips/ptrace.c
@@ -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;
diff --git a/sysdeps/unix/sysv/linux/mips/pwrite.c b/sysdeps/unix/sysv/linux/mips/pwrite.c
index 3c0eba5..50c8265 100644
--- a/sysdeps/unix/sysv/linux/mips/pwrite.c
+++ b/sysdeps/unix/sysv/linux/mips/pwrite.c
@@ -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,
diff --git a/sysdeps/unix/sysv/linux/mips/pwrite64.c b/sysdeps/unix/sysv/linux/mips/pwrite64.c
index fef333b..109b2c5 100644
--- a/sysdeps/unix/sysv/linux/mips/pwrite64.c
+++ b/sysdeps/unix/sysv/linux/mips/pwrite64.c
@@ -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,
diff --git a/sysdeps/unix/sysv/linux/mips/sigaction.c b/sysdeps/unix/sysv/linux/mips/sigaction.c
index bc7db2b..83b71de 100644
--- a/sysdeps/unix/sysv/linux/mips/sigaction.c
+++ b/sysdeps/unix/sysv/linux/mips/sigaction.c
@@ -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
diff --git a/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h b/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h
index 3ab6d99..2b50647 100644
--- a/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h
@@ -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 *
diff --git a/sysdeps/unix/sysv/linux/mips/sys/procfs.h b/sysdeps/unix/sysv/linux/mips/sys/procfs.h
index 0beb332..cb84677 100644
--- a/sysdeps/unix/sysv/linux/mips/sys/procfs.h
+++ b/sysdeps/unix/sysv/linux/mips/sys/procfs.h
@@ -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. */
diff --git a/sysdeps/unix/sysv/linux/mips/sys/ptrace.h b/sysdeps/unix/sysv/linux/mips/sys/ptrace.h
index a8e4a47..9badeb3 100644
--- a/sysdeps/unix/sysv/linux/mips/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/mips/sys/ptrace.h
@@ -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
diff --git a/sysdeps/unix/sysv/linux/mips/sys/tas.h b/sysdeps/unix/sysv/linux/mips/sys/tas.h
index a840a94..006e161 100644
--- a/sysdeps/unix/sysv/linux/mips/sys/tas.h
+++ b/sysdeps/unix/sysv/linux/mips/sys/tas.h
@@ -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;
diff --git a/sysdeps/unix/sysv/linux/mips/sys/ucontext.h b/sysdeps/unix/sysv/linux/mips/sys/ucontext.h
index b097bf2..c03566b 100644
--- a/sysdeps/unix/sysv/linux/mips/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/mips/sys/ucontext.h
@@ -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. */
diff --git a/sysdeps/unix/sysv/linux/mips/sys/user.h b/sysdeps/unix/sysv/linux/mips/sys/user.h
index 8b21ff2..dc3ee83 100644
--- a/sysdeps/unix/sysv/linux/mips/sys/user.h
+++ b/sysdeps/unix/sysv/linux/mips/sys/user.h
@@ -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. */