Update of /cvsroot/linux-vax/toolchain/patches
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30957
Added Files:
uclibc-000024-fix_syscalls.patch
Log Message:
- Heeeeyyah! This brings us actually working syscalls.
- My little test application now presents "useful" stat data.
- Homework to be done:
* Fix kernel's version of the syscall macros in asm/unistd.h
* To do this, first update the scripts to actually use the GIT
version of the kernel, not the CVS version (which I'll update
with regard to the syscall macros anyways).
* Start building fresh userland :-)
--- NEW FILE: uclibc-000024-fix_syscalls.patch ---
diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/syscalls.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/syscalls.h
--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/syscalls.h 2005-11-29 16:54:17.000000000 +0100
+++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/syscalls.h 2005-11-29 17:12:04.000000000 +0100
@@ -43,9 +43,12 @@ type name (void) \
long _sc_ret; \
\
__asm__ __volatile__ ( \
+ " pushl %%ap \n" \
" pushl $0x0 \n" \
" movl %%sp, %%ap \n" \
" chmk %%r0 \n" \
+ " addl2 $4, %%sp \n" \
+ " movl (%%sp)+, %%ap \n" \
: "=r" (_sc_0) \
: "0" (_sc_0) \
: _syscall_clobbers); \
@@ -64,10 +67,13 @@ type name (type1 arg1) \
long _sc_ret; \
\
__asm__ __volatile__ ( \
+ " pushl %%ap \n" \
" pushl %2 \n" \
" pushl $0x1 \n" \
" movl %%sp, %%ap \n" \
" chmk %%r0 \n" \
+ " addl2 $8, %%sp \n" \
+ " movl (%%sp)+, %%ap \n" \
: "=r" (_sc_0) \
: "0" (_sc_0), \
"m" (arg1) \
@@ -88,11 +94,14 @@ type name (type1 arg1, \
long _sc_ret; \
\
__asm__ __volatile__ ( \
+ " pushl %%ap \n" \
" pushl %3 \n" \
" pushl %2 \n" \
" pushl $0x2 \n" \
" movl %%sp, %%ap \n" \
" chmk %%r0 \n" \
+ " addl2 $12, %%sp \n" \
+ " movl (%%sp)+, %%ap \n" \
: "=r" (_sc_0) \
: "0" (_sc_0), \
"m" (arg1), \
@@ -115,12 +124,15 @@ type name (type1 arg1, \
long _sc_ret; \
\
__asm__ __volatile__ ( \
+ " pushl %%ap \n" \
" pushl %4 \n" \
" pushl %3 \n" \
" pushl %2 \n" \
" pushl $0x3 \n" \
" movl %%sp, %%ap \n" \
" chmk %%r0 \n" \
+ " addl2 $16, %%sp \n" \
+ " movl (%%sp)+, %%ap \n" \
: "=r" (_sc_0) \
: "0" (_sc_0), \
"m" (arg1), \
@@ -146,6 +158,7 @@ type name (type1 arg1, \
long _sc_ret; \
\
__asm__ __volatile__ ( \
+ " pushl %%ap \n" \
" pushl %5 \n" \
" pushl %4 \n" \
" pushl %3 \n" \
@@ -153,6 +166,8 @@ type name (type1 arg1, \
" pushl $0x4 \n" \
" movl %%sp, %%ap \n" \
" chmk %%r0 \n" \
+ " addl2 $20, %%sp \n" \
+ " movl (%%sp)+, %%ap \n" \
: "=r" (_sc_0) \
: "0" (_sc_0), \
"m" (arg1), \
@@ -180,6 +195,7 @@ type name (type1 arg1, \
long _sc_ret; \
\
__asm__ __volatile__ ( \
+ " pushl %%ap \n" \
" pushl %6 \n" \
" pushl %5 \n" \
" pushl %4 \n" \
@@ -188,6 +204,8 @@ type name (type1 arg1, \
" pushl $0x5 \n" \
" movl %%sp, %%ap \n" \
" chmk %%r0 \n" \
+ " addl2 $24, %%sp \n" \
+ " movl (%%sp)+, %%ap \n" \
: "=r" (_sc_0) \
: "0" (_sc_0), \
"m" (arg1), \
@@ -217,6 +235,7 @@ type name (type1 arg1, \
long _sc_ret; \
\
__asm__ __volatile__ ( \
+ " pushl %%ap \n" \
" pushl %7 \n" \
" pushl %6 \n" \
" pushl %5 \n" \
@@ -226,6 +245,8 @@ type name (type1 arg1, \
" pushl $0x6 \n" \
" movl %%sp, %%ap \n" \
" chmk %%r0 \n" \
+ " addl2 $28, %%sp \n" \
+ " movl (%%sp)+, %%ap \n" \
: "=r" (_sc_0) \
: "0" (_sc_0), \
"m" (arg1), \
|