moved from ../osf1
authorbrendan <brendan>
Fri, 10 Mar 1995 01:49:29 +0000 (01:49 +0000)
committerbrendan <brendan>
Fri, 10 Mar 1995 01:49:29 +0000 (01:49 +0000)
18 files changed:
sysdeps/unix/bsd/osf/alpha/brk.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/fork.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/getdents.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/killpg.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/pipe.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/recv.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/send.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/sigblock.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/sigpause.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/sigsetmask.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/sigvec.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/start.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/statbuf.h [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/sysdep.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/sysdep.h [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/vhangup.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/wait4.S [new file with mode: 0644]
sysdeps/unix/bsd/osf/alpha/waitpid.c [new file with mode: 0644]

diff --git a/sysdeps/unix/bsd/osf/alpha/brk.S b/sysdeps/unix/bsd/osf/alpha/brk.S
new file mode 100644 (file)
index 0000000..111f339
--- /dev/null
@@ -0,0 +1,53 @@
+/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+
+#ifndef SYS_brk
+#define SYS_brk 17
+#endif
+
+#ifndef       HAVE_GNU_LD
+#define __end           end
+#endif
+
+.data
+       .extern __end,8
+       .globl __curbrk
+__curbrk:
+       .quad __end
+
+.text
+ENTRY(__brk)
+       ! FIXME We do not check for asking for less than a page yet.
+       ldiq v0, SYS_brk
+       call_pal PAL_callsys
+       bne a3, error
+
+       /* Update __curbrk and exit cleanly.  */
+!      ldgp gp, 0(t12)
+       stl a0, __curbrk
+
+       mov zero, v0
+       ret
+       /* What a horrible way to die.  */
+error: ldgp gp,0(gp)
+       jmp zero,syscall_error
+       .end __brk
+
+weak_alias (__brk, brk)
diff --git a/sysdeps/unix/bsd/osf/alpha/fork.S b/sysdeps/unix/bsd/osf/alpha/fork.S
new file mode 100644 (file)
index 0000000..7c8d671
--- /dev/null
@@ -0,0 +1,25 @@
+/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+
+SYSCALL__ (fork, 0)
+       cmovne a4, 0, v0
+       ret
+
+weak_alias (__fork, fork)
diff --git a/sysdeps/unix/bsd/osf/alpha/getdents.S b/sysdeps/unix/bsd/osf/alpha/getdents.S
new file mode 100644 (file)
index 0000000..16ccbc2
--- /dev/null
@@ -0,0 +1,25 @@
+/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+
+SYSCALL__ (getdirentries, 4)
+       ret
+
+weak_alias (__getdirentries, getdirentries)
+
diff --git a/sysdeps/unix/bsd/osf/alpha/killpg.S b/sysdeps/unix/bsd/osf/alpha/killpg.S
new file mode 100644 (file)
index 0000000..f0b82b3
--- /dev/null
@@ -0,0 +1,25 @@
+/* Copyright (C) 1993 Free Software Foundation, Inc.
+   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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+
+#include <sys/ult_syscall.h>
+#define SYS_killpg SYS_ult_killpg
+
+SYSCALL (killpg, 2)
+       ret
diff --git a/sysdeps/unix/bsd/osf/alpha/pipe.S b/sysdeps/unix/bsd/osf/alpha/pipe.S
new file mode 100644 (file)
index 0000000..6b074ed
--- /dev/null
@@ -0,0 +1,30 @@
+/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+
+SYSCALL__ (pipe, 1)
+       /* Plop in the two descriptors.  */
+       stl r0, 0(a0)
+       stl r1, 4(a0)
+
+       /* Go out with a clean status.  */
+       mov zero, r0
+       ret
+
+weak_alias (__pipe, pipe)
diff --git a/sysdeps/unix/bsd/osf/alpha/recv.S b/sysdeps/unix/bsd/osf/alpha/recv.S
new file mode 100644 (file)
index 0000000..4ac00eb
--- /dev/null
@@ -0,0 +1,25 @@
+/* Copyright (C) 1991, 1992 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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+
+#include <sys/ult_syscall.h>
+#define SYS_recv SYS_ult_recv
+
+SYSCALL (recv, 4)
+       ret
diff --git a/sysdeps/unix/bsd/osf/alpha/send.S b/sysdeps/unix/bsd/osf/alpha/send.S
new file mode 100644 (file)
index 0000000..ca46894
--- /dev/null
@@ -0,0 +1,25 @@
+/* Copyright (C) 1991, 1992 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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+
+#include <sys/ult_syscall.h>
+#define SYS_send SYS_ult_send
+
+SYSCALL (send, 4)
+       ret
diff --git a/sysdeps/unix/bsd/osf/alpha/sigblock.S b/sysdeps/unix/bsd/osf/alpha/sigblock.S
new file mode 100644 (file)
index 0000000..c3556a9
--- /dev/null
@@ -0,0 +1,27 @@
+/* Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+   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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+
+#include <sys/ult_syscall.h>
+#define SYS_sigblock SYS_ult_sigblock
+
+SYSCALL__ (sigblock, 1)
+       ret
+
+weak_alias (__sigblock, sigblock)
diff --git a/sysdeps/unix/bsd/osf/alpha/sigpause.S b/sysdeps/unix/bsd/osf/alpha/sigpause.S
new file mode 100644 (file)
index 0000000..04b6d45
--- /dev/null
@@ -0,0 +1,27 @@
+/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+
+#include <sys/ult_syscall.h>
+#define SYS_sigpause SYS_ult_sigpause
+
+SYSCALL__ (sigpause, 1)
+       ret
+
+weak_alias (__sigpause, sigpause)
diff --git a/sysdeps/unix/bsd/osf/alpha/sigsetmask.S b/sysdeps/unix/bsd/osf/alpha/sigsetmask.S
new file mode 100644 (file)
index 0000000..fb3a1d1
--- /dev/null
@@ -0,0 +1,27 @@
+/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+
+#include <sys/ult_syscall.h>
+#define SYS_sigsetmask SYS_ult_sigsetmask
+
+SYSCALL__ (sigsetmask, 1)
+       ret
+
+weak_alias (__sigsetmask, sigsetmask)
diff --git a/sysdeps/unix/bsd/osf/alpha/sigvec.S b/sysdeps/unix/bsd/osf/alpha/sigvec.S
new file mode 100644 (file)
index 0000000..b04ec6e
--- /dev/null
@@ -0,0 +1,27 @@
+/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+
+#include <sys/ult_syscall.h>
+#define SYS_sigvec SYS_ult_sigvec
+
+SYSCALL__ (sigvec, 3)
+       ret
+
+weak_alias (__sigvec, sigvec)
diff --git a/sysdeps/unix/bsd/osf/alpha/start.S b/sysdeps/unix/bsd/osf/alpha/start.S
new file mode 100644 (file)
index 0000000..52eb036
--- /dev/null
@@ -0,0 +1,65 @@
+/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+
+.comm errno,           4
+
+!.sdata
+!.globl STARTFRM
+!STARTFRM = 0
+
+.text
+ENTRY(__start)
+       lda     sp, -16(sp)
+       stq     zero, 8(sp)
+
+       ! This branch puts the address of the current insn in t0.
+       br      t0, 10f
+10:
+       ! We set the GP register by using the address of the ldgp
+       ! (what we just put into t0).
+       ldgp    gp, 0(t0)
+
+       ! get argc
+       ldl     a0, 16(sp)
+
+       ! get argv
+       lda     a1, 24(sp)
+
+       ! move ahead to envp
+       s8addq  a0, a1, a2
+       addq    a2, 0x8, a2
+
+       ! Store in environ.
+       stq     a2, environ
+
+       ! Clear out errno.
+!      ldgp    gp, 0(t12)
+       stl     zero, errno
+
+       ! Call main.
+       jsr     ra, main
+       ldgp    gp, 0(ra)
+
+       mov     v0, a0
+
+       jsr     ra, exit
+       ldgp    gp, 0(ra)
+
+       .end __start
diff --git a/sysdeps/unix/bsd/osf/alpha/statbuf.h b/sysdeps/unix/bsd/osf/alpha/statbuf.h
new file mode 100644 (file)
index 0000000..9cadfae
--- /dev/null
@@ -0,0 +1,75 @@
+/* Copyright (C) 1993 Free Software Foundation, Inc.
+   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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#ifndef        _STATBUF_H
+#define        _STATBUF_H
+
+#include <gnu/types.h>
+
+/* Structure describing file characteristics.  */
+struct stat
+  {
+    int st_dev;                        /* Device.  */
+    unsigned int st_ino;       /* File serial number.          */
+    unsigned int st_mode;      /* File mode.  */
+    unsigned short st_nlink;   /* Link count.  */
+    unsigned int st_uid;       /* User ID of the file's owner. */
+    unsigned int st_gid;       /* Group ID of the file's group.*/
+    int st_rdev;               /* Device number, if device.  */
+
+    long st_size;              /* Size of file, in bytes.  */
+
+    int st_atime;              /* Time of last access.  */
+    int st_atime_usec;
+    int st_mtime;              /* Time of last modification.  */
+    int st_mtime_usec;
+    int st_ctime;              /* Time of last status change.  */
+    int st_ctime_usec;
+
+    unsigned int st_blksize;   /* Optimal block size for I/O.  */
+#define        _STATBUF_ST_BLKSIZE     /* Tell code we have this member.  */
+
+    int st_blocks;             /* Number of 512-byte blocks allocated.  */
+    unsigned int st_flags;
+    unsigned int st_gen;
+  };
+
+/* Encoding of the file mode.  */
+
+#define        __S_IFMT        0170000 /* These bits determine file type.  */
+
+/* File types.  */
+#define        __S_IFDIR       0040000 /* Directory.  */
+#define        __S_IFCHR       0020000 /* Character device.  */
+#define        __S_IFBLK       0060000 /* Block device.  */
+#define        __S_IFREG       0100000 /* Regular file.  */
+#define        __S_IFIFO       0010000 /* FIFO.  */
+
+#define        __S_IFLNK       0120000 /* Symbolic link.  */
+#define        __S_IFSOCK      0140000 /* Socket.  */
+
+/* Protection bits.  */
+
+#define        __S_ISUID       04000   /* Set user ID on execution.  */
+#define        __S_ISGID       02000   /* Set group ID on execution.  */
+#define        __S_ISVTX       01000   /* Save swapped text after use (sticky).  */
+#define        __S_IREAD       0400    /* Read by owner.  */
+#define        __S_IWRITE      0200    /* Write by owner.  */
+#define        __S_IEXEC       0100    /* Execute by owner.  */
+
+#endif /* statbuf.h */
diff --git a/sysdeps/unix/bsd/osf/alpha/sysdep.S b/sysdeps/unix/bsd/osf/alpha/sysdep.S
new file mode 100644 (file)
index 0000000..bc4865c
--- /dev/null
@@ -0,0 +1,40 @@
+/* Copyright (C) 1993 Free Software Foundation, Inc.
+   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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+#define _ERRNO_H
+#include <errnos.h>
+
+ENTRY(syscall_error)
+#ifdef EWOULDBLOCK_sys
+       /* We translate the system's EWOULDBLOCK error into EAGAIN.
+          The GNU C library always defines EWOULDBLOCK==EAGAIN.
+          EWOULDBLOCK_sys is the original number.  */
+       subq v0, EWOULDBLOCK_sys, t0
+       cmoveq t0, EAGAIN, v0
+#endif
+
+       /* Store it in errno... */
+!      ldgp gp, 0(t12)
+       stl v0, errno
+
+       /* And just kick back a -1.  */
+       ldil v0, -1
+       ret
+
+       .end syscall_error
diff --git a/sysdeps/unix/bsd/osf/alpha/sysdep.h b/sysdeps/unix/bsd/osf/alpha/sysdep.h
new file mode 100644 (file)
index 0000000..3669a69
--- /dev/null
@@ -0,0 +1,73 @@
+/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdeps/unix/sysdep.h>
+
+#ifdef ASSEMBLER
+
+#include <machine/pal.h>               /* get PAL_callsys */
+#include <regdef.h>
+
+#ifdef __STDC__
+#define ENTRY(name) \
+  .globl name;                                                               \
+  .ent name,0;                                                               \
+  name##:;                                                                   \
+  .frame sp,0,ra
+#else
+#define ENTRY(name) \
+  .globl name;                                                               \
+  .ent name,0;                                                               \
+  name/**/:;                                                                 \
+  .frame sp,0,ra
+#endif
+
+#ifdef __STDC__
+#define PSEUDO(name, syscall_name, args) \
+  ENTRY(name);                                                               \
+  ldiq v0, SYS_##syscall_name;                                               \
+  .set noat;                                                                 \
+  call_pal PAL_callsys;                                                              \
+  .set at;                                                                   \
+  beq a3, 10f;                                                               \
+  br gp, 20f;                                                                \
+20:;                                                                         \
+  ldgp gp, 0(gp);                                                            \
+  jmp zero, syscall_error;                                                   \
+10:
+#else
+#define PSEUDO(name, syscall_name, args) \
+  ENTRY(name);                                                               \
+  ldiq v0, SYS_/**/syscall_name;                                             \
+  .set noat;                                                                 \
+  call_pal PAL_callsys;                                                              \
+  .set at;                                                                   \
+  beq a3, 10f;                                                               \
+  br gp, 20f;                                                                \
+20:;                                                                         \
+  ldgp gp, 0(gp);                                                            \
+  jmp zero, syscall_error;                                                   \
+10:
+#endif
+
+#define ret            ret zero,(ra),1
+#define r0             v0
+#define r1             a4
+#define MOVE(x,y)      mov x, y
+
+#endif /* ASSEMBLER */
diff --git a/sysdeps/unix/bsd/osf/alpha/vhangup.S b/sysdeps/unix/bsd/osf/alpha/vhangup.S
new file mode 100644 (file)
index 0000000..d4d2b1c
--- /dev/null
@@ -0,0 +1,25 @@
+/* Copyright (C) 1991, 1992 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 Library General Public License as
+published by the Free Software Foundation; either version 2 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+#include <sysdep.h>
+
+#include <sys/ult_syscall.h>
+#define SYS_vhangup SYS_ult_vhangup
+
+SYSCALL (vhangup, 1)
+       ret
diff --git a/sysdeps/unix/bsd/osf/alpha/wait4.S b/sysdeps/unix/bsd/osf/alpha/wait4.S
new file mode 100644 (file)
index 0000000..e4c3223
--- /dev/null
@@ -0,0 +1 @@
+#include <sysdeps/unix/bsd/bsd4.4/wait4.S>
diff --git a/sysdeps/unix/bsd/osf/alpha/waitpid.c b/sysdeps/unix/bsd/osf/alpha/waitpid.c
new file mode 100644 (file)
index 0000000..8378982
--- /dev/null
@@ -0,0 +1 @@
+#include <sysdeps/unix/bsd/bsd4.4/waitpid.c>