diff options
author | Guillaume Cottenceau <gc@mandriva.com> | 2001-05-14 14:19:32 +0000 |
---|---|---|
committer | Guillaume Cottenceau <gc@mandriva.com> | 2001-05-14 14:19:32 +0000 |
commit | 167217bec15c9c7aa70ba2a3dc9c689b3cd91872 (patch) | |
tree | 7c0c62debf8f9f145643102fb52b81afce743594 /mdk-stage1/dietlibc/syscalls.h | |
parent | 9097327dc1c667fc51b8e05cc7c0626fac96665d (diff) | |
download | drakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar drakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.gz drakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.bz2 drakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.xz drakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.zip |
import new version of dietlibc
Diffstat (limited to 'mdk-stage1/dietlibc/syscalls.h')
-rw-r--r-- | mdk-stage1/dietlibc/syscalls.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/syscalls.h b/mdk-stage1/dietlibc/syscalls.h index 5e9782ee9..eba7a3c00 100644 --- a/mdk-stage1/dietlibc/syscalls.h +++ b/mdk-stage1/dietlibc/syscalls.h @@ -10,6 +10,15 @@ #ifdef __i386__ +#define syscall_weak(name,wsym,sym) \ +.text; \ +.weak wsym; \ +wsym: ; \ +.global sym; \ +sym: \ + movb $__NR_##name,%al; \ + jmp __unified_syscall + #define syscall(name,sym) \ .text; \ .global sym; \ @@ -21,6 +30,15 @@ sym: \ #ifdef __sparc__ +#define syscall_weak(name,wsym,sym) \ +.text; \ +.weak wsym; \ +wsym: ; \ +.global sym; \ +sym: \ + b __unified_syscall; \ + mov __NR_##name, %g1 + #define syscall(name,sym) \ .text; \ .global sym; \ @@ -32,6 +50,15 @@ sym: \ #ifdef __powerpc__ +#define syscall_weak(name,wsym,sym) \ +.text; \ +.weak wsym; \ +wsym: ; \ +.global sym; \ +sym: \ + li 0,__NR_##name; \ + b __unified_syscall + #define syscall(name,sym) \ .text; \ .global sym; \ @@ -44,6 +71,18 @@ sym: \ #ifdef __mips__ +#define syscall_weak(name,wsym,sym) \ +.text; \ +.weak wsym; \ +wsym: ; \ +.global sym; \ +.ent sym; \ +sym: \ + li $2,__NR_##name; \ + la $25,__unified_syscall; \ + jr $25; \ +.end sym + #define syscall(name,sym) \ .text; \ .global sym; \ @@ -58,6 +97,15 @@ sym: \ #ifdef __arm__ +#define syscall_weak(name,wsym,sym) \ +.text; \ +.weak wsym; \ +wsym: ; \ +.global sym; \ +sym: \ + swi __NR_##name; \ + b __unified_syscall + #define syscall(name,sym) \ .text; \ .global sym; \ @@ -70,6 +118,18 @@ sym: \ #ifdef __alpha__ +#define syscall_weak(name,wsym,sym) \ +.text ; \ +.align 2 ; \ +.weak wsym; \ +.type wsym,@function ; \ +wsym: ; \ +.global sym ; \ +.type sym,@function ; \ +sym: ; \ + lda $0, __NR_##name($31) ; \ + br __unified_syscall + #define syscall(name,sym) \ .text ; \ .align 2 ; \ |