[prev in list] [next in list] [prev in thread] [next in thread] 

List:       uclibc-cvs
Subject:    [git commit nptl] mips/sysdep.h: Unify mips sysdep.h
From:       raj.khem () gmail ! com (Khem Raj)
Date:       2010-02-12 19:33:19
Message-ID: 19c1b8a91002121133y39978153s4a7f7dd857cc9607 () mail ! gmail ! com
[Download RAW message or body]

On Fri, Feb 12, 2010 at 5:47 AM, Carmelo AMOROSO <carmelo.amoroso at st.com> wrote:
> On 2/10/2010 3:24 PM, Khem Raj wrote:
> > 
> > commit: http://git.uclibc.org/uClibc/commit/?id=d7af6538924e8be444b60dc255da23c369b2c072
> >                 
> > branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/nptl
> > 
> > Signed-off-by: Khem Raj <raj.khem at gmail.com>
> 
> Thanks Khem for this. It is another step toward nptl integration.

Yes indeed. I have to make sure that LT still works with these changes
on the branch.

> 
> Carmelo
> 
> > ---
> > ?libc/sysdeps/linux/mips/sysdep.h ? ? ? ? ? ? ? ? ? | ?366 +++++++++++++++++++-
> > ?libpthread/nptl/sysdeps/mips/sysdep.h ? ? ? ? ? ? ?| ?110 ------
> > ?.../nptl/sysdeps/unix/sysv/linux/mips/sysdep.h ? ? | ?302 ----------------
> > ?3 files changed, 350 insertions(+), 428 deletions(-)
> > ?delete mode 100644 libpthread/nptl/sysdeps/mips/sysdep.h
> > ?delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/sysdep.h
> > 
> > diff --git a/libc/sysdeps/linux/mips/sysdep.h b/libc/sysdeps/linux/mips/sysdep.h
> > index 38d4ce9..0c30e20 100644
> > --- a/libc/sysdeps/linux/mips/sysdep.h
> > +++ b/libc/sysdeps/linux/mips/sysdep.h
> > @@ -1,6 +1,4 @@
> > -/* Adapted from glibc's sysdeps/unix/mips/sysdep.h */
> > -
> > -/* Copyright (C) 1992, 1995, 1997, 1999, 2000, 2002, 2003
> > +/* Copyright (C) 1992, 1995, 1997, 1999, 2000, 2002, 2003, 2004
> > ? ? Free Software Foundation, Inc.
> > ? ? This file is part of the GNU C Library.
> > ? ? Contributed by Brendan Kehoe (brendan at zen.org).
> > @@ -20,28 +18,72 @@
> > ? ? Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
> > ? ? 02111-1307 USA. ?*/
> > 
> > -#include <features.h>
> > +#ifndef _LINUX_MIPS_SYSDEP_H
> > +#define _LINUX_MIPS_SYSDEP_H 1
> > +
> > +#include <sgidefs.h>
> > +#include <common/sysdep.h>
> > 
> > -#if __UCLIBC_HAS_THREADS_NATIVE__
> > -#include_next <sysdep.h>
> > +/* For Linux we can use the system call table in the header file
> > + ? /usr/include/asm/unistd.h
> > + ? of the kernel. ?But these symbols do not follow the SYS_* syntax
> > + ? so we have to redefine the `SYS_ify' macro here. ?*/
> > 
> > +#undef SYS_ify
> > +#ifdef __STDC__
> > +# define SYS_ify(syscall_name) ? ? ? __NR_##syscall_name
> > ?#else
> > +# define SYS_ify(syscall_name) ? ? ? __NR_/**/syscall_name
> > +#endif
> > 
> > ?#ifdef __ASSEMBLER__
> > 
> > -#include <sgidefs.h>
> > -#include <sys/regdef.h>
> > +#include <regdef.h>
> > 
> > -#define ENTRY(name) \
> > - ?.globl name; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?.align 2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ?.ent name,0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > +#define ENTRY(name) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?.globl name; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ?.align 2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?.ent name,0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > ? ?name##:
> > 
> > ?#undef END
> > -#define END(function) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ? ? ? ? ? ?.end ? ?function; ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ? ? ? ? ? ?.size ? function,.-function
> > +#define ? ? ?END(function) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ? ? ? ? .end ? ?function; ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ? ? ? ? .size ? function,.-function
> > +
> > +#define ret ?j ra ; nop
> > +
> > +#undef PSEUDO_END
> > +#define PSEUDO_END(sym) .end sym; .size sym,.-sym
> > +
> > +#define PSEUDO_NOERRNO(name, syscall_name, args) ? ? \
> > + ?.align 2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?ENTRY(name) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?.set noreorder; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?li v0, SYS_ify(syscall_name); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?syscall
> > +
> > +#undef PSEUDO_END_NOERRNO
> > +#define PSEUDO_END_NOERRNO(sym) .end sym; .size sym,.-sym
> > +
> > +#define ret_NOERRNO ret
> > +
> > +#define PSEUDO_ERRVAL(name, syscall_name, args) ? ? ? ? ? ? ?\
> > + ?.align 2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?ENTRY(name) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?.set noreorder; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?li v0, SYS_ify(syscall_name); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?syscall
> > +
> > +#undef PSEUDO_END_ERRVAL
> > +#define PSEUDO_END_ERRVAL(sym) .end sym; .size sym,.-sym
> > +
> > +#define ret_ERRVAL ret
> > +
> > +#define r0 ? v0
> > +#define r1 ? v1
> > +/* The mips move insn is d,s. ?*/
> > +#define MOVE(x,y) ? ?move y , x
> > 
> > ?#if _MIPS_SIM == _ABIO32
> > ?# define L(label) $L ## label
> > @@ -49,6 +91,298 @@
> > ?# define L(label) .L ## label
> > ?#endif
> > 
> > +/* Note that while it's better structurally, going back to call __syscall_error
> > + ? can make things confusing if you're debugging---it looks like it's jumping
> > + ? backwards into the previous fn. ?*/
> > +
> > +#ifdef __PIC__
> > +#define PSEUDO(name, syscall_name, args) ? ? ? ? ? ? \
> > + ?.align 2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?99: la t9,__syscall_error; ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ?jr t9; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ?ENTRY(name) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?.set noreorder; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?.cpload t9; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?li v0, SYS_ify(syscall_name); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?syscall; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ?.set reorder; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?bne a3, zero, 99b; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > +L(syse1):
> > +#else
> > +#define PSEUDO(name, syscall_name, args) ? ? ? ? ? ? \
> > + ?.set noreorder; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?.align 2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?99: j __syscall_error; ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ?nop; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ?ENTRY(name) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?.set noreorder; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?li v0, SYS_ify(syscall_name); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?syscall; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ?.set reorder; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?bne a3, zero, 99b; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > +L(syse1):
> > +#endif
> > +
> > +/* We don't want the label for the error handler to be visible in the symbol
> > + ? table when we define it here. ?*/
> > +#ifdef __PIC__
> > +# define SYSCALL_ERROR_LABEL 99b
> > ?#endif
> > 
> > -#endif /* __UCLIBC_HAS_THREADS_NATIVE__ */
> > +#else ? /* ! __ASSEMBLER__ */
> > +
> > +/* Define a macro which expands into the inline wrapper code for a system
> > + ? call. ?*/
> > +#undef INLINE_SYSCALL
> > +#define INLINE_SYSCALL(name, nr, args...) ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ?({ INTERNAL_SYSCALL_DECL(err); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? long result_var = INTERNAL_SYSCALL (name, err, nr, args); ? ? ? ? ? ? ? \
> > + ? ? if ( INTERNAL_SYSCALL_ERROR_P (result_var, err) ) ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ?__set_errno (INTERNAL_SYSCALL_ERRNO (result_var, err)); ? ? ? ?\
> > + ? ? ?result_var = -1L; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? result_var; })
> > +
> > +#undef INTERNAL_SYSCALL_DECL
> > +#define INTERNAL_SYSCALL_DECL(err) long err
> > +
> > +#undef INTERNAL_SYSCALL_ERROR_P
> > +#define INTERNAL_SYSCALL_ERROR_P(val, err) ? ((long) (err))
> > +
> > +#undef INTERNAL_SYSCALL_ERRNO
> > +#define INTERNAL_SYSCALL_ERRNO(val, err) ? ? (val)
> > +
> > +#undef INTERNAL_SYSCALL
> > +#define INTERNAL_SYSCALL(name, err, nr, args...) \
> > + ? ? internal_syscall##nr (, "li\t$2, %2\t\t\t# " #name "\n\t", ? ? ?\
> > + ? ? ? ? ? ? ? ? ? ? ? ? ? "i" (SYS_ify (name)), err, args)
> > +
> > +#undef INTERNAL_SYSCALL_NCS
> > +#define INTERNAL_SYSCALL_NCS(number, err, nr, args...) \
> > + ? ? internal_syscall##nr (= number, , "r" (__v0), err, args)
> > +#undef internal_syscall0
> > +#define internal_syscall0(ncs_init, cs_init, input, err, dummy...) ? \
> > +({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? register long __a3 __asm__("$7"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ".set reorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? : "=r" (__v0), "=r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? : input ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > +})
> > +
> > +#undef internal_syscall1
> > +#define internal_syscall1(ncs_init, cs_init, input, err, arg1) ? ? ? ? ? ? ? \
> > +({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? register long __a0 __asm__("$4") = (long) arg1; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a3 __asm__("$7"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ".set reorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? : "=r" (__v0), "=r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? : input, "r" (__a0) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > +})
> > +
> > +#undef internal_syscall2
> > +#define internal_syscall2(ncs_init, cs_init, input, err, arg1, arg2) \
> > +({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? register long __a0 __asm__("$4") = (long) arg1; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a1 __asm__("$5") = (long) arg2; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a3 __asm__("$7"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ".set\treorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? : "=r" (__v0), "=r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? : input, "r" (__a0), "r" (__a1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > +})
> > +
> > +#undef internal_syscall3
> > +#define internal_syscall3(ncs_init, cs_init, input, err, arg1, arg2, arg3)\
> > +({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? register long __a0 __asm__("$4") = (long) arg1; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a1 __asm__("$5") = (long) arg2; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a2 __asm__("$6") = (long) arg3; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a3 __asm__("$7"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ".set\treorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? : "=r" (__v0), "=r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? : input, "r" (__a0), "r" (__a1), "r" (__a2) ? ? ? ? ? ? ? ? ? ? \
> > + ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > +})
> > +
> > +#undef internal_syscall4
> > +#define internal_syscall4(ncs_init, cs_init, input, err, arg1, arg2, arg3, \
> > arg4)\ +({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? register long __a0 __asm__("$4") = (long) arg1; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a1 __asm__("$5") = (long) arg2; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a2 __asm__("$6") = (long) arg3; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a3 __asm__("$7") = (long) arg4; ? ? ? ? ? ? ? ? \
> > + ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ".set\treorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? : "=r" (__v0), "+r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? : input, "r" (__a0), "r" (__a1), "r" (__a2) ? ? ? ? ? ? ? ? ? ? \
> > + ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > +})
> > +
> > +/* We need to use a frame pointer for the functions in which we
> > + ? adjust $sp around the syscall, or debug information and unwind
> > + ? information will be $sp relative and thus wrong during the syscall. ?As
> > + ? of GCC 3.4.3, this is sufficient. ?*/
> > +#define FORCE_FRAME_POINTER alloca (4)
> > +
> > +#undef internal_syscall5
> > +#define internal_syscall5(ncs_init, cs_init, input, err, arg1, arg2, arg3, arg4, \
> > arg5)\ +({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? FORCE_FRAME_POINTER; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? register long __a0 __asm__("$4") = (long) arg1; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a1 __asm__("$5") = (long) arg2; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a2 __asm__("$6") = (long) arg3; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a3 __asm__("$7") = (long) arg4; ? ? ? ? ? ? ? ? \
> > + ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "subu\t$29, 32\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "sw\t%6, 16($29)\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "addiu\t$29, 32\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ".set\treorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? : "=r" (__v0), "+r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? : input, "r" (__a0), "r" (__a1), "r" (__a2), ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ? "r" ((long)arg5) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > +})
> > +
> > +#undef internal_syscall6
> > +#define internal_syscall6(ncs_init, cs_init, input, err, arg1, arg2, arg3, arg4, \
> > arg5, arg6)\ +({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > ? \ + ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? FORCE_FRAME_POINTER; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? register long __a0 __asm__("$4") = (long) arg1; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a1 __asm__("$5") = (long) arg2; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a2 __asm__("$6") = (long) arg3; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a3 __asm__("$7") = (long) arg4; ? ? ? ? ? ? ? ? \
> > + ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "subu\t$29, 32\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "sw\t%6, 16($29)\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "sw\t%7, 20($29)\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "addiu\t$29, 32\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ".set\treorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? : "=r" (__v0), "+r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? : input, "r" (__a0), "r" (__a1), "r" (__a2), ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ? "r" ((long)arg5), "r" ((long)arg6) ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > +})
> > +
> > +#undef internal_syscall7
> > +#define internal_syscall7(ncs_init, cs_init, input, err, arg1, arg2, arg3, arg4, \
> > arg5, arg6, arg7)\ +({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > ? ? ? ? \ + ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? FORCE_FRAME_POINTER; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? register long __a0 __asm__("$4") = (long) arg1; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a1 __asm__("$5") = (long) arg2; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a2 __asm__("$6") = (long) arg3; ? ? ? ? ? ? ? ? \
> > + ? ? register long __a3 __asm__("$7") = (long) arg4; ? ? ? ? ? ? ? ? \
> > + ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "subu\t$29, 32\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "sw\t%6, 16($29)\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "sw\t%7, 20($29)\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "sw\t%8, 24($29)\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? "addiu\t$29, 32\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ".set\treorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? : "=r" (__v0), "+r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? : input, "r" (__a0), "r" (__a1), "r" (__a2), ? ? ? ? ? ? ? ? ? ?\
> > + ? ? ? "r" ((long)arg5), "r" ((long)arg6), "r" ((long)arg7) ? ? ? ? ?\
> > + ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > + ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > + ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > +})
> > +
> > +#undef __SYSCALL_CLOBBERS
> > +#define __SYSCALL_CLOBBERS "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
> > + ? ? "$14", "$15", "$24", "$25", "memory"
> > +
> > +
> > +#endif ?/* __ASSEMBLER__ */
> > +#endif /* _LINUX_MIPS_SYSDEP_H */
> > diff --git a/libpthread/nptl/sysdeps/mips/sysdep.h \
> > b/libpthread/nptl/sysdeps/mips/sysdep.h deleted file mode 100644
> > index b53c9a9..0000000
> > --- a/libpthread/nptl/sysdeps/mips/sysdep.h
> > +++ /dev/null
> > @@ -1,110 +0,0 @@
> > -/* Copyright (C) 1992, 1995, 1997, 1999, 2000, 2002, 2003, 2004
> > - ? Free Software Foundation, Inc.
> > - ? This file is part of the GNU C Library.
> > - ? Contributed by Brendan Kehoe (brendan at zen.org).
> > -
> > - ? 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 <sgidefs.h>
> > -#include <common/sysdep.h>
> > -
> > -#ifdef __ASSEMBLER__
> > -
> > -#include <regdef.h>
> > -
> > -#define ENTRY(name) \
> > - ?.globl name; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> >                 ? \
> > - ?.align 2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?.ent name,0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> >                 ? \
> > - ?name##:
> > -
> > -#undef END
> > -#define ? ? ?END(function) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ? ? ? ? .end ? ?function; ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ? ? ? ? .size ? function,.-function
> > -
> > -#define ret ?j ra ; nop
> > -
> > -#undef PSEUDO_END
> > -#define PSEUDO_END(sym) .end sym; .size sym,.-sym
> > -
> > -#define PSEUDO_NOERRNO(name, syscall_name, args) ? ? \
> > - ?.align 2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?ENTRY(name) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?.set noreorder; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?li v0, SYS_ify(syscall_name); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?syscall
> > -
> > -#undef PSEUDO_END_NOERRNO
> > -#define PSEUDO_END_NOERRNO(sym) .end sym; .size sym,.-sym
> > -
> > -#define ret_NOERRNO ret
> > -
> > -#define PSEUDO_ERRVAL(name, syscall_name, args) ? ? ?\
> > - ?.align 2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?ENTRY(name) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?.set noreorder; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?li v0, SYS_ify(syscall_name); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?syscall
> > -
> > -#undef PSEUDO_END_ERRVAL
> > -#define PSEUDO_END_ERRVAL(sym) .end sym; .size sym,.-sym
> > -
> > -#define ret_ERRVAL ret
> > -
> > -#define r0 ? v0
> > -#define r1 ? v1
> > -/* The mips move insn is d,s. ?*/
> > -#define MOVE(x,y) ? ?move y , x
> > -
> > -#if _MIPS_SIM == _ABIO32
> > -# define L(label) $L ## label
> > -#else
> > -# define L(label) .L ## label
> > -#endif
> > -
> > -/* Note that while it's better structurally, going back to call __syscall_error
> > - ? can make things confusing if you're debugging---it looks like it's jumping
> > - ? backwards into the previous fn. ?*/
> > -#ifdef __PIC__
> > -#define PSEUDO(name, syscall_name, args) \
> > - ?.align 2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?99: la t9,__syscall_error; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ?jr t9; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ?ENTRY(name) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> >                 ? ?\
> > - ?.set noreorder; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?.cpload t9; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> >                 ? ?\
> > - ?li v0, SYS_ify(syscall_name); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> >                 ? ?\
> > - ?syscall; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ?.set reorder; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> >                 ? ?\
> > - ?bne a3, zero, 99b; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > -L(syse1):
> > -#else
> > -#define PSEUDO(name, syscall_name, args) \
> > - ?.set noreorder; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?.align 2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?99: j __syscall_error; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ?nop; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> >                 ? \
> > - ?ENTRY(name) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> >                 ? ?\
> > - ?.set noreorder; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ?li v0, SYS_ify(syscall_name); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> >                 ? ?\
> > - ?syscall; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ?.set reorder; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> >                 ? ?\
> > - ?bne a3, zero, 99b; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > -L(syse1):
> > -#endif
> > -
> > -#endif
> > diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/sysdep.h \
> > b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/sysdep.h deleted file mode 100644
> > index bfaab1f..0000000
> > --- a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/sysdep.h
> > +++ /dev/null
> > @@ -1,302 +0,0 @@
> > -/* Copyright (C) 2000, 2002, 2003, 2004, 2005 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
> > - ? 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. ?*/
> > -
> > -#ifndef _LINUX_MIPS_MIPS32_SYSDEP_H
> > -#define _LINUX_MIPS_MIPS32_SYSDEP_H 1
> > -
> > -#include <sys/syscall.h>
> > -
> > -/* There is some commonality. ?*/
> > -#include <sysdeps/mips/sysdep.h>
> > -
> > -/* For Linux we can use the system call table in the header file
> > - ? ? /usr/include/asm/unistd.h
> > - ? of the kernel. ?But these symbols do not follow the SYS_* syntax
> > - ? so we have to redefine the `SYS_ify' macro here. ?*/
> > -#undef SYS_ify
> > -#ifdef __STDC__
> > -# define SYS_ify(syscall_name) ? ? ? __NR_##syscall_name
> > -#else
> > -# define SYS_ify(syscall_name) ? ? ? __NR_/**/syscall_name
> > -#endif
> > -
> > -#ifdef __ASSEMBLER__
> > -
> > -/* We don't want the label for the error handler to be visible in the symbol
> > - ? table when we define it here. ?*/
> > -#ifdef __PIC__
> > -# define SYSCALL_ERROR_LABEL 99b
> > -#endif
> > -
> > -#else ? /* ! __ASSEMBLER__ */
> > -
> > -/* Define a macro which expands into the inline wrapper code for a system
> > - ? call. ?*/
> > -#undef INLINE_SYSCALL
> > -#define INLINE_SYSCALL(name, nr, args...) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ?({ INTERNAL_SYSCALL_DECL(err); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? long result_var = INTERNAL_SYSCALL (name, err, nr, args); ? ? ? ? ? ? ? \
> > - ? ? if ( INTERNAL_SYSCALL_ERROR_P (result_var, err) ) ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ?__set_errno (INTERNAL_SYSCALL_ERRNO (result_var, err)); ? ? ? ?\
> > - ? ? ?result_var = -1L; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? result_var; })
> > -
> > -#undef INTERNAL_SYSCALL_DECL
> > -#define INTERNAL_SYSCALL_DECL(err) long err
> > -
> > -#undef INTERNAL_SYSCALL_ERROR_P
> > -#define INTERNAL_SYSCALL_ERROR_P(val, err) ? ((long) (err))
> > -
> > -#undef INTERNAL_SYSCALL_ERRNO
> > -#define INTERNAL_SYSCALL_ERRNO(val, err) ? ? (val)
> > -
> > -#undef INTERNAL_SYSCALL
> > -#define INTERNAL_SYSCALL(name, err, nr, args...) \
> > - ? ? internal_syscall##nr (, "li\t$2, %2\t\t\t# " #name "\n\t", ? ? ?\
> > - ? ? ? ? ? ? ? ? ? ? ? ? ? "i" (SYS_ify (name)), err, args)
> > -
> > -#undef INTERNAL_SYSCALL_NCS
> > -#define INTERNAL_SYSCALL_NCS(number, err, nr, args...) \
> > - ? ? internal_syscall##nr (= number, , "r" (__v0), err, args)
> > -#undef internal_syscall0
> > -#define internal_syscall0(ncs_init, cs_init, input, err, dummy...) ? \
> > -({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? register long __a3 __asm__("$7"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ".set reorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? : "=r" (__v0), "=r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? : input ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > -})
> > -
> > -#undef internal_syscall1
> > -#define internal_syscall1(ncs_init, cs_init, input, err, arg1) ? ? ? ? ? ? ? \
> > -({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? register long __a0 __asm__("$4") = (long) arg1; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a3 __asm__("$7"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ".set reorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? : "=r" (__v0), "=r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? : input, "r" (__a0) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > -})
> > -
> > -#undef internal_syscall2
> > -#define internal_syscall2(ncs_init, cs_init, input, err, arg1, arg2) \
> > -({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? register long __a0 __asm__("$4") = (long) arg1; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a1 __asm__("$5") = (long) arg2; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a3 __asm__("$7"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ".set\treorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? : "=r" (__v0), "=r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? : input, "r" (__a0), "r" (__a1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > -})
> > -
> > -#undef internal_syscall3
> > -#define internal_syscall3(ncs_init, cs_init, input, err, arg1, arg2, arg3)\
> > -({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? register long __a0 __asm__("$4") = (long) arg1; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a1 __asm__("$5") = (long) arg2; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a2 __asm__("$6") = (long) arg3; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a3 __asm__("$7"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ".set\treorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? : "=r" (__v0), "=r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? : input, "r" (__a0), "r" (__a1), "r" (__a2) ? ? ? ? ? ? ? ? ? ? \
> > - ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > -})
> > -
> > -#undef internal_syscall4
> > -#define internal_syscall4(ncs_init, cs_init, input, err, arg1, arg2, arg3, \
> >                 arg4)\
> > -({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? register long __a0 __asm__("$4") = (long) arg1; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a1 __asm__("$5") = (long) arg2; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a2 __asm__("$6") = (long) arg3; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a3 __asm__("$7") = (long) arg4; ? ? ? ? ? ? ? ? \
> > - ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ".set\treorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? : "=r" (__v0), "+r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? : input, "r" (__a0), "r" (__a1), "r" (__a2) ? ? ? ? ? ? ? ? ? ? \
> > - ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > -})
> > -
> > -/* We need to use a frame pointer for the functions in which we
> > - ? adjust $sp around the syscall, or debug information and unwind
> > - ? information will be $sp relative and thus wrong during the syscall. ?As
> > - ? of GCC 3.4.3, this is sufficient. ?*/
> > -#define FORCE_FRAME_POINTER alloca (4)
> > -
> > -#undef internal_syscall5
> > -#define internal_syscall5(ncs_init, cs_init, input, err, arg1, arg2, arg3, arg4, \
> >                 arg5)\
> > -({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? FORCE_FRAME_POINTER; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? register long __a0 __asm__("$4") = (long) arg1; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a1 __asm__("$5") = (long) arg2; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a2 __asm__("$6") = (long) arg3; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a3 __asm__("$7") = (long) arg4; ? ? ? ? ? ? ? ? \
> > - ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "subu\t$29, 32\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "sw\t%6, 16($29)\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "addiu\t$29, 32\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ".set\treorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? : "=r" (__v0), "+r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? : input, "r" (__a0), "r" (__a1), "r" (__a2), ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ? "r" ((long)arg5) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > -})
> > -
> > -#undef internal_syscall6
> > -#define internal_syscall6(ncs_init, cs_init, input, err, arg1, arg2, arg3, arg4, \
> >                 arg5, arg6)\
> > -({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? FORCE_FRAME_POINTER; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? register long __a0 __asm__("$4") = (long) arg1; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a1 __asm__("$5") = (long) arg2; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a2 __asm__("$6") = (long) arg3; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a3 __asm__("$7") = (long) arg4; ? ? ? ? ? ? ? ? \
> > - ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "subu\t$29, 32\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "sw\t%6, 16($29)\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "sw\t%7, 20($29)\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "addiu\t$29, 32\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ".set\treorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? : "=r" (__v0), "+r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? : input, "r" (__a0), "r" (__a1), "r" (__a2), ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ? "r" ((long)arg5), "r" ((long)arg6) ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > -})
> > -
> > -#undef internal_syscall7
> > -#define internal_syscall7(ncs_init, cs_init, input, err, arg1, arg2, arg3, arg4, \
> >                 arg5, arg6, arg7)\
> > -({ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? long _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? FORCE_FRAME_POINTER; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? register long __v0 __asm__("$2") ncs_init; ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? register long __a0 __asm__("$4") = (long) arg1; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a1 __asm__("$5") = (long) arg2; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a2 __asm__("$6") = (long) arg3; ? ? ? ? ? ? ? ? \
> > - ? ? register long __a3 __asm__("$7") = (long) arg4; ? ? ? ? ? ? ? ? \
> > - ? ? __asm__ volatile ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ".set\tnoreorder\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "subu\t$29, 32\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "sw\t%6, 16($29)\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "sw\t%7, 20($29)\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "sw\t%8, 24($29)\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? cs_init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "syscall\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? "addiu\t$29, 32\n\t" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ".set\treorder" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? : "=r" (__v0), "+r" (__a3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? : input, "r" (__a0), "r" (__a1), "r" (__a2), ? ? ? ? ? ? ? ? ? ?\
> > - ? ? ? "r" ((long)arg5), "r" ((long)arg6), "r" ((long)arg7) ? ? ? ? ?\
> > - ? ? : __SYSCALL_CLOBBERS); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > - ? ? err = __a3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result = __v0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> > - ? ? _sys_result; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
> > -})
> > -
> > -#undef __SYSCALL_CLOBBERS
> > -#define __SYSCALL_CLOBBERS "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
> > - ? ? "$14", "$15", "$24", "$25", "memory"
> > -
> > -#endif /* __ASSEMBLER__ */
> > -
> > -#endif /* sysdeps/unix/sysv/linux/mips/sysdep.h */
> 
> _______________________________________________
> uClibc-cvs mailing list
> uClibc-cvs at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc-cvs
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic