mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-01 10:06:57 +03:00
initial import
This commit is contained in:
32
sysdeps/unix/bsd/m68k/pipe.S
Normal file
32
sysdeps/unix/bsd/m68k/pipe.S
Normal file
@ -0,0 +1,32 @@
|
||||
/* Copyright (C) 1991, 1992, 1993, 1995 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>
|
||||
|
||||
SYSCALL__ (pipe, 1)
|
||||
#ifdef __motorola__
|
||||
move.l 4(sp), a0
|
||||
movem.l d0-d1, (a0)
|
||||
#else
|
||||
movel sp@(4), a0
|
||||
moveml d0-d1, a0@
|
||||
#endif
|
||||
clrl d0
|
||||
rts
|
||||
|
||||
weak_alias (__pipe, pipe)
|
3
sysdeps/unix/bsd/m68k/start.c
Normal file
3
sysdeps/unix/bsd/m68k/start.c
Normal file
@ -0,0 +1,3 @@
|
||||
#define DUMMIES ignore0
|
||||
|
||||
#include <sysdeps/unix/start.c>
|
26
sysdeps/unix/bsd/m68k/syscall.S
Normal file
26
sysdeps/unix/bsd/m68k/syscall.S
Normal file
@ -0,0 +1,26 @@
|
||||
/* Copyright (C) 1993 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>
|
||||
|
||||
ENTRY (syscall)
|
||||
movel sp@+, a0 /* Pop return address into A0. */
|
||||
DO_CALL (sp@, 0) /* Do system call. */
|
||||
jmp a0@ /* Return to A0. */
|
||||
error: movel a0, sp@- /* Error; push return address */
|
||||
jmp syscall_error /* and jump to error handler. */
|
44
sysdeps/unix/bsd/m68k/sysdep.S
Normal file
44
sysdeps/unix/bsd/m68k/sysdep.S
Normal file
@ -0,0 +1,44 @@
|
||||
/* Copyright (C) 1991, 1992, 1993, 1994 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. */
|
||||
|
||||
#define _ERRNO_H
|
||||
#include <errnos.h>
|
||||
|
||||
.globl syscall_error
|
||||
syscall_error:
|
||||
/* We translate the system's EWOULDBLOCK error into EAGAIN.
|
||||
The GNU C library always defines EWOULDBLOCK==EAGAIN.
|
||||
EWOULDBLOCK_sys is the original number. */
|
||||
#ifdef __motorola__
|
||||
#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
|
||||
cmp.l #EWOULDBLOCK_sys, d0
|
||||
bne store
|
||||
moveq.l #EAGAIN, d0
|
||||
#endif
|
||||
store: move.l d0, _errno
|
||||
moveq.l #-1, d0
|
||||
#else
|
||||
#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
|
||||
cmpl #EWOULDBLOCK_sys, d0
|
||||
bne store
|
||||
moveq #EAGAIN, d0
|
||||
#endif
|
||||
store: movel d0, _errno
|
||||
moveq #-1, d0
|
||||
#endif
|
||||
rts
|
35
sysdeps/unix/bsd/m68k/wait.S
Normal file
35
sysdeps/unix/bsd/m68k/wait.S
Normal file
@ -0,0 +1,35 @@
|
||||
/* Copyright (C) 1991, 1992, 1993, 1995 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>
|
||||
|
||||
SYSCALL__ (wait, 1)
|
||||
#ifdef __motorola__
|
||||
tst.l 4(sp)
|
||||
beq 1f
|
||||
movea.l 4(sp), a0
|
||||
move.l d1, (a0)
|
||||
#else
|
||||
tstl sp@(4)
|
||||
beq 1f
|
||||
moveal sp@(4), a0
|
||||
movel d1, a0@
|
||||
#endif
|
||||
1: rts
|
||||
|
||||
weak_alias (__wait, wait)
|
Reference in New Issue
Block a user