From 167217bec15c9c7aa70ba2a3dc9c689b3cd91872 Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Mon, 14 May 2001 14:19:32 +0000 Subject: import new version of dietlibc --- mdk-stage1/dietlibc/syscalls.h | 60 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) (limited to 'mdk-stage1/dietlibc/syscalls.h') 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 ; \ -- cgit v1.2.1