moved from ../osf1
This commit is contained in:
parent
864a3e4e29
commit
77072f48a5
|
@ -0,0 +1,44 @@
|
|||
/* 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 _DIRSTREAM_H
|
||||
|
||||
#define _DIRSTREAM_H 1
|
||||
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
/* Directory stream type. */
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int __fd; /* File descriptor. */
|
||||
|
||||
size_t __offset; /* Current offset into the block. */
|
||||
size_t __size; /* Total valid data in the block. */
|
||||
char *__data; /* Directory block. */
|
||||
|
||||
int __allocation; /* Space allocated for the block. */
|
||||
|
||||
int __data_len; /* Size of __data. */
|
||||
long __dd_seek; /* OSF/1 magic cookie returned by getdents. */
|
||||
void *dd_lock; /* Used by OSF/1 for inter-thread locking. */
|
||||
|
||||
} DIR;
|
||||
|
||||
#endif /* dirstream.h */
|
|
@ -0,0 +1,2 @@
|
|||
# OSF/1 has the canonical set of <sys/mman.h> system calls.
|
||||
unix/mman
|
|
@ -0,0 +1,3 @@
|
|||
# Without -non_shared (via the compiler's -static flag), we'll end up
|
||||
# with some unresolved symbols wrt exceptions.
|
||||
LDFLAGS := $(LDFLAGS) -static
|
|
@ -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)
|
|
@ -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)
|
|
@ -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)
|
||||
|
|
@ -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
|
|
@ -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)
|
|
@ -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
|
|
@ -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
|
|
@ -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)
|
|
@ -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)
|
|
@ -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)
|
|
@ -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)
|
|
@ -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
|
|
@ -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 */
|
|
@ -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
|
|
@ -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 */
|
|
@ -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
|
|
@ -0,0 +1 @@
|
|||
#include <sysdeps/unix/bsd/bsd4.4/wait4.S>
|
|
@ -0,0 +1 @@
|
|||
#include <sysdeps/unix/bsd/bsd4.4/waitpid.c>
|
|
@ -0,0 +1 @@
|
|||
#include <sysdeps/unix/bsd/sun/sunos4/msync.S>
|
|
@ -0,0 +1,45 @@
|
|||
/* Structure and constand definitions for sigaction et al. OSF/1 version.
|
||||
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, 1992 Free Software Foundation, Inc., 675 Mass Ave,
|
||||
Cambridge, MA 02139, USA. */
|
||||
|
||||
/* Structure describing the action to be taken when a signal arrives. */
|
||||
struct sigaction
|
||||
{
|
||||
/* Signal handler. */
|
||||
__sighandler_t sa_handler;
|
||||
|
||||
/* Additional set of signals to be blocked. */
|
||||
__sigset_t sa_mask;
|
||||
|
||||
/* Special flags. */
|
||||
int sa_flags;
|
||||
};
|
||||
|
||||
/* Bits in `sa_flags'. */
|
||||
#ifdef __USE_BSD
|
||||
#define SA_ONSTACK 0x1 /* Take signal on signal stack. */
|
||||
#define SA_RESTART 0x2 /* Don't restart syscall on signal return. */
|
||||
#define SA_DISABLE 0x4 /* Disable alternate signal stack. */
|
||||
#endif
|
||||
#define SA_NOCLDSTOP 0x4 /* Don't send SIGCHLD when children stop. */
|
||||
|
||||
|
||||
/* Values for the HOW argument to `sigprocmask'. */
|
||||
#define SIG_BLOCK 1 /* Block signals. */
|
||||
#define SIG_UNBLOCK 2 /* Unblock signals. */
|
||||
#define SIG_SETMASK 3 /* Set the set of blocked signals. */
|
|
@ -0,0 +1,2 @@
|
|||
/* OSF/1 does have `waitpid'. Avoid unix/system.c, which says we don't. */
|
||||
#include <sysdeps/posix/system.c>
|
Loading…
Reference in New Issue