aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/bsd/ultrix4/mips
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/bsd/ultrix4/mips')
-rw-r--r--sysdeps/unix/bsd/ultrix4/mips/Dist1
-rw-r--r--sysdeps/unix/bsd/ultrix4/mips/Makefile3
-rw-r--r--sysdeps/unix/bsd/ultrix4/mips/__handler.S115
-rw-r--r--sysdeps/unix/bsd/ultrix4/mips/bits/sigcontext.h63
-rw-r--r--sysdeps/unix/bsd/ultrix4/mips/sigvec.c55
-rw-r--r--sysdeps/unix/bsd/ultrix4/mips/start.S87
-rw-r--r--sysdeps/unix/bsd/ultrix4/mips/syscalls.list3
-rw-r--r--sysdeps/unix/bsd/ultrix4/mips/sysdep.h3
-rw-r--r--sysdeps/unix/bsd/ultrix4/mips/vfork.S36
9 files changed, 0 insertions, 366 deletions
diff --git a/sysdeps/unix/bsd/ultrix4/mips/Dist b/sysdeps/unix/bsd/ultrix4/mips/Dist
deleted file mode 100644
index 06cf9cc2de..0000000000
--- a/sysdeps/unix/bsd/ultrix4/mips/Dist
+++ /dev/null
@@ -1 +0,0 @@
-__handler.S
diff --git a/sysdeps/unix/bsd/ultrix4/mips/Makefile b/sysdeps/unix/bsd/ultrix4/mips/Makefile
deleted file mode 100644
index 74e3b04f6c..0000000000
--- a/sysdeps/unix/bsd/ultrix4/mips/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-ifeq ($(subdir),signal)
-sysdep_routines := $(sysdep_routines) __handler
-endif
diff --git a/sysdeps/unix/bsd/ultrix4/mips/__handler.S b/sysdeps/unix/bsd/ultrix4/mips/__handler.S
deleted file mode 100644
index 2b815c46dd..0000000000
--- a/sysdeps/unix/bsd/ultrix4/mips/__handler.S
+++ /dev/null
@@ -1,115 +0,0 @@
-/* Copyright (C) 1992, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Brendan Kehoe (brendan@zen.org).
- Also hacked by Ian Lance Taylor (ian@airs.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 <sysdep.h>
-
-/* This function saves all the registers, calls the
- user function, and then executes a sigreturn system call. The
- sigreturn call wants the address of a sigcontext structure. This
- is all hideously system dependent and, for all intents and
- purposes, undocumented.
-
- When we enter here, a3 holds the user's signal handler. We are
- supposed to fill in the context given in a2, and then pass it and
- the first two arguments to the user's function. If the user's
- function returns, we execute a sigreturn system call.
-
- The sc_onstack, sc_mask and sc_pc elements of the context are
- already set by the kernel. For some reason we don't have to save
- the floating point state or the coprocessor state; the kernel may
- have saved them for us, or it doesn't use them. */
-
-.set noat
-ENTRY (__handler)
- /* Store zero and the asm temp reg. */
- sw $0, 12(a2)
- sw AT, 16(a2)
-
- /* Put v1 in sc_regs[3]. */
- sw v1, 24(a2)
-
- /* Save the caller saved registers in sc_regs[8..15]. */
- sw t0, 44(a2)
- sw t1, 48(a2)
- sw t2, 52(a2)
- sw t3, 56(a2)
- sw t4, 60(a2)
- sw t5, 64(a2)
- sw t6, 68(a2)
- sw t7, 72(a2)
-
- /* Save the callee saved registers in sc_regs[16..23]. */
- sw s0, 76(a2)
- sw s1, 80(a2)
- sw s2, 84(a2)
- sw s3, 88(a2)
- sw s4, 92(a2)
- sw s5, 96(a2)
- sw s6, 100(a2)
- sw s7, 104(a2)
-
- /* Save the code generator registers in sc_regs[24] & sc_regs[25]. */
- sw t8, 108(a2)
- sw t9, 112(a2)
-
- /* Save the kernel temp regs in sc_regs[26] & sc_regs[27]. */
- sw k0, 116(a2)
- sw k1, 120(a2)
-
- /* Save the global pointer in sc_regs[28]. */
- sw gp, 124(a2)
-
- /* ... and also the return address in sc_regs[31]. */
- sw ra, 136(a2)
-
- /* Note: we don't save the stack pointer in sc_regs[29];
- instead, we use the one that was already there. */
-#if 0
- sw sp, 128(a2)
-#endif
-
- /* Save the floating pointer in sc_regs[30]. */
- sw $fp, 132(a2)
-
- /* Save the mul/div stuff in sc_mdlo and sc_mdhi. */
- mflo t0
- sw t0, 140(a2)
- mfhi t0
- sw t0, 144(a2)
-
- /* Move the stack up four. This will save the context. */
- addu sp, sp, -32
- sw a2, 16(sp)
-
- /* Call their handler with the signal, code, and context; note
- this will clobber the context. */
- .set noreorder
- jal ra, a3
- nop
- .set reorder
-
- /* When we come back, restore the context and pass it right
- on into sigreturn(). */
- lw a0, 16(sp)
-
- /* Do a sigreturn syscall; this doesn't return. */
- la v0, __sigreturn
- jal ra, v0
- .end __handler
diff --git a/sysdeps/unix/bsd/ultrix4/mips/bits/sigcontext.h b/sysdeps/unix/bsd/ultrix4/mips/bits/sigcontext.h
deleted file mode 100644
index 3674651372..0000000000
--- a/sysdeps/unix/bsd/ultrix4/mips/bits/sigcontext.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright (C) 1992, 1994, 1997 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 _SIGNAL_H
-# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
-#endif
-
-/* Note that ANY change to this instantly implies a change to __handler.S. */
-
-struct sigcontext
- {
- /* Nonzero if running on signal stack. */
- int sc_onstack;
-
- /* Signal mask to restore. */
- __sigset_t sc_mask;
-
- /* Program counter when the signal hit. */
- __ptr_t sc_pc;
-
- /* Registers 0 through 31. */
- int sc_regs[32];
-
- /* mul/div low and hi; these aren't part of a jmp_buf, but are part of the
- sigcontext and are referenced from the signal trampoline code. */
- int sc_mdlo;
- int sc_mdhi;
-
- /* Flag to see if the FP's been used. */
- int sc_ownedfp;
-
- /* Floating point registers 0 to 31. */
- int sc_fpregs[32];
- /* Control & status register for FP. */
- int sc_fpc_csr;
-
- /* Exception instruction register for FP. */
- int sc_fpc_eir;
-
- /* The coprocessor's cause register. */
- int sc_cause;
-
- /* CPU bad virtual address. */
- __ptr_t sc_badvaddr;
-
- /* CPU board bad physical address. */
- __ptr_t sc_badpaddr;
- };
diff --git a/sysdeps/unix/bsd/ultrix4/mips/sigvec.c b/sysdeps/unix/bsd/ultrix4/mips/sigvec.c
deleted file mode 100644
index 5775c9adb9..0000000000
--- a/sysdeps/unix/bsd/ultrix4/mips/sigvec.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 1992, 1996, 1997, 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
- 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. */
-
-/* The sigvec system call on MIPS Ultrix takes an additional
- parameter, which is the address that is actually called when the
- signal occurs.
-
- When a signal occurs, we arrange for the kernel to call __handler.
- That will save the frame and stack pointers into the context, and
- then jump to this routine. See __handler.S.
-
- This code is based on sysdeps/unix/bsd/sun4/sigtramp.c, but it's
- different because since we get passed the user signal handler we
- don't actually need a trampoline. */
-
-#include <signal.h>
-#include <stddef.h>
-#include <errno.h>
-
-/* The user's signal handler is called with three arguments. */
-typedef void (*handler_type) (int sig, int code, struct sigcontext *);
-
-extern int __raw_sigvec (int sig, CONST struct sigvec *vec,
- struct sigvec *ovec,
- void (*)(int sig, int code,
- struct sigcontext *,
- handler_type));
-
-extern void __handler (int sig, int code,
- struct sigcontext *,
- handler_type);
-
-int
-__sigvec (sig, vec, ovec)
- int sig;
- const struct sigvec *vec;
- struct sigvec *ovec;
-{
- return __raw_sigvec (sig, vec, ovec, __handler);
-}
diff --git a/sysdeps/unix/bsd/ultrix4/mips/start.S b/sysdeps/unix/bsd/ultrix4/mips/start.S
deleted file mode 100644
index a88268af45..0000000000
--- a/sysdeps/unix/bsd/ultrix4/mips/start.S
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 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.
-
- In addition to the permissions in the GNU Lesser General Public
- License, the Free Software Foundation gives you unlimited
- permission to link the compiled version of this file with other
- programs, and to distribute those programs without any restriction
- coming from the use of this file. (The GNU Lesser General Public
- License restrictions do apply in other respects; for example, they
- cover modification of the file, and distribution when not linked
- into another program.)
-
- Note that people who make modified versions of this file are not
- obligated to grant this special exception for their modified
- versions; it is their choice whether to do so. The GNU Lesser
- General Public License gives permission to release a modified
- version without this exception; this exception also makes it
- possible to release a modified version which carries forward this
- exception.
-
- 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>
-
-ENTRY(__start)
- .set noreorder
-
- /* The first thing on the stack is argc. */
- lw s0, 0(sp)
- nop
-
- /* Set up the global pointer. */
- la gp, _gp
-
- /* Then set up argv. */
- addiu s1, sp, 4
-
- /* To compute where envp is, first we have to jump ahead four
- bytes from what argv was. This will bring us ahead, so we don't
- need to compute the NULL at the end of argv later. */
- addiu v1, s1, 4
-
- /* Now, compute the space to skip given the number of arguments
- we've got. We do this by multiplying argc by 4. */
- sll v0, s0, 2
-
- /* Now, add (argv+4) with the space to skip...that's envp. */
- addu s2, v1, v0
-
- /* __environ = envp; */
- sw s2, __environ
-
- addiu sp, sp, -24
-
- /* __libc_init (argc, argv, envp); */
- move a0, s0
- move a1, s1
- jal __libc_init
- move a2, s2
-
- /* errno = 0; */
- sw zero, errno
-
- /* exit (main (argc, argv, envp)); */
- move a0, s0
- move a1, s1
- jal main
- move a2, s2
-
- /* Make the value returned by main be the argument to exit. */
- jal exit
- move a0, v0
- .end __start
diff --git a/sysdeps/unix/bsd/ultrix4/mips/syscalls.list b/sysdeps/unix/bsd/ultrix4/mips/syscalls.list
deleted file mode 100644
index f7d0bba6a8..0000000000
--- a/sysdeps/unix/bsd/ultrix4/mips/syscalls.list
+++ /dev/null
@@ -1,3 +0,0 @@
-# File name Caller Syscall name # args Strong name Weak names
-
-raw-sigvec sigvec sigvec 4 __raw_sigvec
diff --git a/sysdeps/unix/bsd/ultrix4/mips/sysdep.h b/sysdeps/unix/bsd/ultrix4/mips/sysdep.h
deleted file mode 100644
index 09b69ff854..0000000000
--- a/sysdeps/unix/bsd/ultrix4/mips/sysdep.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#define NO_UNDERSCORES
-
-#include <sysdeps/unix/mips/sysdep.h>
diff --git a/sysdeps/unix/bsd/ultrix4/mips/vfork.S b/sysdeps/unix/bsd/ultrix4/mips/vfork.S
deleted file mode 100644
index d413e45dc1..0000000000
--- a/sysdeps/unix/bsd/ultrix4/mips/vfork.S
+++ /dev/null
@@ -1,36 +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>
-
-#ifndef SYS_vfork
-#define SYS_vfork 66
-#endif
-
-SYSCALL__ (vfork, 0)
- beq v1, zero, parent /* Branch if parent. */
- nop
- move v0, zero
-parent:
- ret
- nop
- .end __vfork
-libc_hidden_def (__vfork)
-
-weak_alias (__vfork, vfork)