diff options
Diffstat (limited to 'lib/libpthread/machdep/syscall-i386-linux-1.0.S')
-rw-r--r-- | lib/libpthread/machdep/syscall-i386-linux-1.0.S | 406 |
1 files changed, 0 insertions, 406 deletions
diff --git a/lib/libpthread/machdep/syscall-i386-linux-1.0.S b/lib/libpthread/machdep/syscall-i386-linux-1.0.S deleted file mode 100644 index 88adb32841a..00000000000 --- a/lib/libpthread/machdep/syscall-i386-linux-1.0.S +++ /dev/null @@ -1,406 +0,0 @@ -/* ==== syscall.S ============================================================ - * Copyright (c) 1994 Chris Provenzano, proven@mit.edu - * All rights reserved. - * - * Description : Machine dependent syscalls for i386/i486/i586 - * - * 1.00 93/08/26 proven - * -Started coding this file. - * - * 1.01 93/11/13 proven - * -The functions readv() and writev() added. - * - * 1.16 94/01/30 proven - * -This file now requires gas version 2.0 or greater. - */ - -#ifndef lint - .text - .asciz "$Id: syscall-i386-linux-1.0.S,v 1.1 1998/07/21 13:19:16 peter Exp $"; -#endif - -#include <sys/syscall.h> -#include <config.h> - -#ifdef __ELF__ - -#define NAME(X) machdep_sys_##X -#define END(X) 1: ; .type NAME(X),@function ; .size NAME(X),1b - NAME(X) - -#else - -#define NAME(X) _machdep_sys_##X -#define END(X) - -#endif - -#define SYSCALL0(x) \ - .globl NAME(x) ; \ - \ -NAME(x): \ - \ - push %ebx; \ - lea SYS_##x, %eax; \ - int $0x80; \ - pop %ebx; \ - ret; \ - \ - END(x) - -#define SYSCALL1(x) \ - .globl NAME(x) ; \ - \ -NAME(x): \ - \ - push %ebx; \ - mov 8(%esp), %ebx; \ - lea SYS_##x, %eax; \ - int $0x80; \ - pop %ebx; \ - ret; \ - \ - END(x) - -#define SYSCALL2(x) \ - .globl NAME(x) ; \ - \ -NAME(x): \ - \ - push %ebx; \ - mov 8(%esp), %ebx; \ - mov 12(%esp), %ecx; \ - lea SYS_##x, %eax; \ - int $0x80; \ - pop %ebx; \ - ret; \ - \ - END(x) - -#define STATCALL2(x) \ - .globl NAME(x) ; \ - \ -NAME(x): \ - \ - push %ebx; \ - mov 8(%esp), %ebx; \ - mov 12(%esp), %ecx; \ - lea SYS_prev_##x, %eax; \ - int $0x80; \ - pop %ebx; \ - ret; \ - END(x) - -#define SYSCALL3(x) \ - .globl NAME(x) ; \ - \ -NAME(x): \ - \ - push %ebx; \ - mov 8(%esp), %ebx; \ - mov 12(%esp), %ecx; \ - mov 16(%esp), %edx; \ - lea SYS_##x, %eax; \ - int $0x80; \ - pop %ebx; \ - ret; \ - END(x) - - -#define SYSCALL4(x) \ - .globl NAME(x) ; \ - \ -NAME(x): \ - \ - push %ebx; \ - push %esi; \ - mov 12(%esp), %ebx; \ - mov 16(%esp), %ecx; \ - mov 20(%esp), %edx; \ - mov 24(%esp), %esi; \ - lea SYS_##x, %eax; \ - int $0x80; \ - pop %esi; \ - pop %ebx; \ - ret; \ - END(x) - -#define SYSCALL5(x) \ - .globl NAME(x) ; \ - \ -NAME(x): \ - \ - push %ebx; \ - push %esi; \ - push %edi; \ - mov 16(%esp), %ebx; \ - mov 20(%esp), %ecx; \ - mov 24(%esp), %edx; \ - mov 28(%esp), %esi; \ - mov 32(%esp), %edi; \ - lea SYS_##x, %eax; \ - int $0x80; \ - pop %edi; \ - pop %esi; \ - pop %ebx; \ - ret; \ - END(x) - -/* ========================================================================= - * exit 1 select 82 - * fork 2 fstatfs 100 - * read 3 socketcall 102 - * write 4 flock 143 - * open 5 readv 145 - * creat 8 writev 146 - * link 9 - * unlink 10 - * execve 11 - * chdir 12 - * chmod 15 - * chown 16 - * lseek 19 - * rename 38 - * dup 41 - * pipe 42 - * ioctl 54 - * fcntl 55 - * dup2 63 - * readdir 89 - * ftruncate 93 - * fchmod 94 - * fchown 95 - */ - -/* - * Initial asm stuff for all functions. - */ - .text - .align 2 - - -/* ========================================================================== - * machdep_sys_read() - */ -SYSCALL3(read) - -/* ========================================================================== - * machdep_sys_write() - */ -SYSCALL3(write) - -/* ========================================================================== - * machdep_sys_open() - */ -SYSCALL3(open) - -/* ========================================================================== - * machdep_sys_close() - */ -SYSCALL1(close) - -/* ========================================================================== - * machdep_sys_creat() - */ -SYSCALL2(creat) - -/* ========================================================================== - * machdep_sys_dup2() - */ -SYSCALL2(dup2) - -/* ========================================================================== - * machdep_sys_fcntl() - */ -SYSCALL3(fcntl) - -/* ========================================================================== - * machdep_sys_fchown() - */ -SYSCALL3(fchown) - -/* ========================================================================== - * machdep_sys_fchmod() - */ -SYSCALL2(fchmod) - -/* ========================================================================== - * machdep_sys_ioctl() - */ -SYSCALL3(ioctl) - -/* ========================================================================== - * machdep_sys_chown() - */ -SYSCALL3(chown) - -/* ========================================================================== - * machdep_sys_chmod() - */ -SYSCALL2(chmod) - -/* ========================================================================== - * machdep_sys_chdir() - */ -SYSCALL1(chdir) - -/* ========================================================================== - * machdep_sys_unlink() - */ -SYSCALL1(unlink) - -/* ========================================================================== - * machdep_sys_link() - */ -SYSCALL2(link) - -/* ========================================================================== - * machdep_sys_rename() - */ -SYSCALL2(rename) - -/* ========================================================================== - * machdep_sys_lseek() - */ -SYSCALL3(lseek) - -/* ========================================================================== - * machdep_sys_pipe() - */ -SYSCALL1(pipe) - -/* ========================================================================== - * machdep_sys_dup() - */ -SYSCALL1(dup) - -/* ========================================================================== - * machdep_sys_fork() - */ -SYSCALL0(fork) - -/* ========================================================================== - * machdep_sys_execve() - */ -SYSCALL3(execve) - -/* ========================================================================== - * machdep_sys_stat() - */ -#ifdef __ELF__ -STATCALL2(stat) -#else -SYSCALL2(stat) -#endif - -/* ========================================================================== - * machdep_sys_fstat() - */ -#ifdef __ELF__ -STATCALL2(fstat) -#else -SYSCALL2(fstat) -#endif - -/* ========================================================================== - * machdep_sys_lstat() - */ -#ifdef __ELF__ -STATCALL2(lstat) -#else -SYSCALL2(lstat) -#endif - -/* ========================================================================== - * machdep_sys_fstatfs() - */ -SYSCALL2(fstatfs) - - -/* ========================================================================== - * machdep_sys_ftruncate() - */ -SYSCALL2(ftruncate) - -/* ========================================================================== - * Nonstandard calls used to make the system work - * - * ========================================================================== - * machdep_sys_select() - */ - - .globl NAME(select) - -NAME(select): - - push %ebx - lea 8(%esp), %ebx - lea SYS_select, %eax - int $0x80 - pop %ebx - ret - END(select) - -/* ========================================================================== - * machdep_sys_wait4() - */ -SYSCALL4(wait4) - -/* ========================================================================== - * machdep_sys_readdir() - */ -SYSCALL3(readdir) - -/* ========================================================================== - * machdep_sys_socketcall() - */ -SYSCALL2(socketcall) - - -SYSCALL1(exit) -SYSCALL3(sigprocmask) - -/* ========================================================================== - * machdep_sys_sigsuspend() - */ - - .globl NAME(sigsuspend) - -NAME(sigsuspend): - - push %ebp - mov %esp,%ebp - push %edi - push %esi - push %ebx - mov 8(%ebp), %edx - mov (%edx), %edx - lea SYS_sigsuspend, %eax - int $0x80 - pop %ebx - pop %esi - pop %edi - mov %ebp,%esp - pop %ebp - ret - END(sigsuspend) - -/* ========================================================================== - * machdep_sys_readv() - */ -#ifdef HAVE_SYSCALL_READV -SYSCALL3(readv) -#endif - -/* ========================================================================== - * machdep_sys_writev() - */ -#ifdef HAVE_SYSCALL_WRITEV -SYSCALL3(writev) -#endif - -/* ========================================================================== - * machdep_sys_flock() - */ -#ifdef HAVE_SYSCALL_FLOCK -SYSCALL2(flock) -#endif |