aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/mips
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-07-12 18:26:36 +0000
committerJakub Jelinek <jakub@redhat.com>2007-07-12 18:26:36 +0000
commit0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (patch)
tree2ea1f8305970753e4a657acb2ccc15ca3eec8e2c /sysdeps/unix/mips
parent7d58530341304d403a6626d7f7a1913165fe2f32 (diff)
downloadglibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.tar
glibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.tar.gz
glibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.tar.bz2
glibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.zip
2.5-18.1
Diffstat (limited to 'sysdeps/unix/mips')
-rw-r--r--sysdeps/unix/mips/brk.S48
-rw-r--r--sysdeps/unix/mips/dl-brk.S1
-rw-r--r--sysdeps/unix/mips/fork.S32
-rw-r--r--sysdeps/unix/mips/mips32/sysdep.h52
-rw-r--r--sysdeps/unix/mips/mips64/n32/sysdep.h57
-rw-r--r--sysdeps/unix/mips/mips64/n64/sysdep.h57
-rw-r--r--sysdeps/unix/mips/pipe.S33
-rw-r--r--sysdeps/unix/mips/rt-sysdep.S1
-rw-r--r--sysdeps/unix/mips/sigreturn.S31
-rw-r--r--sysdeps/unix/mips/sysdep.S100
-rw-r--r--sysdeps/unix/mips/sysdep.h79
-rw-r--r--sysdeps/unix/mips/wait.S47
12 files changed, 0 insertions, 538 deletions
diff --git a/sysdeps/unix/mips/brk.S b/sysdeps/unix/mips/brk.S
deleted file mode 100644
index a35b8b9113..0000000000
--- a/sysdeps/unix/mips/brk.S
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 1992, 1995, 1997, 2002, 2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Brendan Kehoe (brendan@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 <sysdep.h>
-#include <sys/asm.h>
-
-#ifndef SYS_brk
-#define SYS_brk 17
-#endif
-
-#ifndef HAVE_GNU_LD
-#define _end end
-#endif
-
- .data
-ENTRY(__curbrk)
- .word 0
- .end __curbrk
-
- .text
-SYSCALL__(brk, 1)
- .set reorder
- /* Handle the query case. */
- bnez a0, 1f
- move a0, v0
-1: /* Update __curbrk and exit cleanly. */
- PTR_S a0, __curbrk
- move v0, zero
- jr ra
-PSEUDO_END(__brk)
-
-weak_alias (__brk, brk)
diff --git a/sysdeps/unix/mips/dl-brk.S b/sysdeps/unix/mips/dl-brk.S
deleted file mode 100644
index eeb96544e3..0000000000
--- a/sysdeps/unix/mips/dl-brk.S
+++ /dev/null
@@ -1 +0,0 @@
-#include <brk.S>
diff --git a/sysdeps/unix/mips/fork.S b/sysdeps/unix/mips/fork.S
deleted file mode 100644
index a7848acb6b..0000000000
--- a/sysdeps/unix/mips/fork.S
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1992, 1995, 1997, 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Brendan Kehoe (brendan@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 <sysdep.h>
-
-SYSCALL__ (fork, 0)
- beq v1, zero, parent /* Branch if parent. */
- nop
- /* We are the child. Return zero. */
- move v0, zero
-parent:
- ret
-PSEUDO_END(__fork)
-
-libc_hidden_def (__fork)
-weak_alias (__fork, fork)
diff --git a/sysdeps/unix/mips/mips32/sysdep.h b/sysdeps/unix/mips/mips32/sysdep.h
deleted file mode 100644
index 0b5d1186bb..0000000000
--- a/sysdeps/unix/mips/mips32/sysdep.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright (C) 1992, 1995, 1997, 1999, 2000, 2002, 2003
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Brendan Kehoe (brendan@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 <sysdeps/unix/mips/sysdep.h>
-
-/* 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
diff --git a/sysdeps/unix/mips/mips64/n32/sysdep.h b/sysdeps/unix/mips/mips64/n32/sysdep.h
deleted file mode 100644
index ec93fadc04..0000000000
--- a/sysdeps/unix/mips/mips64/n32/sysdep.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 1992, 1995, 1997, 1999, 2000, 2002, 2003
- 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 <sysdeps/unix/mips/sysdep.h>
-
-#ifdef __ASSEMBLER__
-
-/* 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:; \
- .set noat; \
- .cpsetup t9, $1, name; \
- .set at; \
- la t9,__syscall_error; \
- .cpreturn; \
- jr t9; \
- ENTRY(name) \
- li v0, SYS_ify(syscall_name); \
- syscall; \
- bne a3, zero, 99b; \
-L(syse1):
-#else
-#define PSEUDO(name, syscall_name, args) \
- .set noreorder; \
- .align 2; \
- 99: j __syscall_error; \
- ENTRY(name) \
- .set noreorder; \
- li v0, SYS_ify(syscall_name); \
- syscall; \
- .set reorder; \
- bne a3, zero, 99b; \
-L(syse1):
-#endif
-
-#endif
diff --git a/sysdeps/unix/mips/mips64/n64/sysdep.h b/sysdeps/unix/mips/mips64/n64/sysdep.h
deleted file mode 100644
index 502b66797b..0000000000
--- a/sysdeps/unix/mips/mips64/n64/sysdep.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 1992, 1995, 1997, 1999, 2000, 2002, 2003
- 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 <sysdeps/unix/mips/sysdep.h>
-
-#ifdef __ASSEMBLER__
-
-/* 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:; \
- .set noat; \
- .cpsetup t9, $1, name; \
- .set at; \
- dla t9,__syscall_error; \
- .cpreturn; \
- jr t9; \
- ENTRY(name) \
- li v0, SYS_ify(syscall_name); \
- syscall; \
- bne a3, zero, 99b; \
-L(syse1):
-#else
-#define PSEUDO(name, syscall_name, args) \
- .set noreorder; \
- .align 2; \
- 99: j __syscall_error; \
- ENTRY(name) \
- .set noreorder; \
- li v0, SYS_ify(syscall_name); \
- syscall; \
- .set reorder; \
- bne a3, zero, 99b; \
-L(syse1):
-#endif
-
-#endif
diff --git a/sysdeps/unix/mips/pipe.S b/sysdeps/unix/mips/pipe.S
deleted file mode 100644
index ee7b76d635..0000000000
--- a/sysdeps/unix/mips/pipe.S
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1992, 1995, 1997, 2000, 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Brendan Kehoe (brendan@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 <sysdep.h>
-
-SYSCALL__ (pipe, 1)
- /* Plop in the two descriptors. */
- sw v0, 0(a0)
- sw v1, 4(a0)
-
- /* Go out with a clean status. */
- move v0, zero
- j ra
-PSEUDO_END(__pipe)
-
-libc_hidden_def (__pipe)
-weak_alias (__pipe, pipe)
diff --git a/sysdeps/unix/mips/rt-sysdep.S b/sysdeps/unix/mips/rt-sysdep.S
deleted file mode 100644
index f966bf1e59..0000000000
--- a/sysdeps/unix/mips/rt-sysdep.S
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdep.S>
diff --git a/sysdeps/unix/mips/sigreturn.S b/sysdeps/unix/mips/sigreturn.S
deleted file mode 100644
index 2cb3adb6de..0000000000
--- a/sysdeps/unix/mips/sigreturn.S
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1992, 1994, 1995, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Brendan Kehoe (brendan@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 <sysdep.h>
-
-#ifndef SYS_sigreturn
-#define SYS_sigreturn 103
-#endif
-
-ENTRY(__sigreturn)
- li v0, SYS_sigreturn
- syscall
- .end __sigreturn
-
-weak_alias (__sigreturn, sigreturn)
diff --git a/sysdeps/unix/mips/sysdep.S b/sysdeps/unix/mips/sysdep.S
deleted file mode 100644
index 8c172db190..0000000000
--- a/sysdeps/unix/mips/sysdep.S
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright (C) 1992, 1993, 1994, 1997, 1998, 1999, 2000, 2002, 2003
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Brendan Kehoe (brendan@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 <sysdep.h>
-#define _ERRNO_H
-#include <bits/errno.h>
-#include <sys/asm.h>
-
-#ifdef _LIBC_REENTRANT
-
-LOCALSZ= 3
-FRAMESZ= (((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK
-RAOFF= FRAMESZ-(1*SZREG)
-GPOFF= FRAMESZ-(2*SZREG)
-V0OFF= FRAMESZ-(3*SZREG)
-
-ENTRY(__syscall_error)
-#ifdef __PIC__
- .set noat
- SETUP_GPX (AT)
- .set at
-#endif
- PTR_SUBU sp, FRAMESZ
- .set noat
- SETUP_GPX64(GPOFF,AT)
- .set at
-#ifdef __PIC__
- SAVE_GP(GPOFF)
-#endif
- REG_S v0, V0OFF(sp)
- REG_S ra, RAOFF(sp)
-
-#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
- /* We translate the system's EWOULDBLOCK error into EAGAIN.
- The GNU C library always defines EWOULDBLOCK==EAGAIN.
- EWOULDBLOCK_sys is the original number. */
- bne v0, EWOULDBLOCK_sys, L(skip)
- nop
- li v0, EAGAIN
-L(skip):
-#endif
- /* Find our per-thread errno address */
- jal __errno_location
-
- /* Store the error value. */
- REG_L t0, V0OFF(sp)
- sw t0, 0(v0)
-
- /* And just kick back a -1. */
- REG_L ra, RAOFF(sp)
- RESTORE_GP64
- PTR_ADDU sp, FRAMESZ
- li v0, -1
- j ra
- END(__syscall_error)
-
-#else /* _LIBC_REENTRANT */
-
-
-ENTRY(__syscall_error)
-#ifdef __PIC__
- SETUP_GPX (AT)
-#endif
- SETUP_GPX64 (t9, AT)
-
-#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
- /* We translate the system's EWOULDBLOCK error into EAGAIN.
- The GNU C library always defines EWOULDBLOCK==EAGAIN.
- EWOULDBLOCK_sys is the original number. */
- bne v0, EWOULDBLOCK_sys, L(skip)
- li v0, EAGAIN
-L(skip):
-#endif
- /* Store it in errno... */
- sw v0, errno
-
- /* And just kick back a -1. */
- li v0, -1
-
- RESTORE_GP64
- j ra
- END(__syscall_error)
-#endif /* _LIBC_REENTRANT */
diff --git a/sysdeps/unix/mips/sysdep.h b/sysdeps/unix/mips/sysdep.h
deleted file mode 100644
index 714830147d..0000000000
--- a/sysdeps/unix/mips/sysdep.h
+++ /dev/null
@@ -1,79 +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@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 <sysdeps/unix/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
-
-#endif
diff --git a/sysdeps/unix/mips/wait.S b/sysdeps/unix/mips/wait.S
deleted file mode 100644
index de0f6ebfae..0000000000
--- a/sysdeps/unix/mips/wait.S
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 1992, 1994, 1995, 1997, 2002, 2003
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Brendan Kehoe (brendan@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 <sysdep.h>
-
-.set noreorder
-
-ENTRY(__wait)
- /* Prep it for wait. */
- move a1, zero
- move a2, zero
-
- li v0, SYS_wait
- syscall
- beqz a3, L(noerror)
- nop
- j __syscall_error
- nop
-
-L(noerror):
- /* If the arg is not NULL, store v1 there. */
- beqz a0, L(noarg)
- nop
- sw v1, 0(a0)
- nop
-L(noarg):
- ret
- .end __wait
-
-weak_alias (__wait, wait)