From: Jan-Benedict G. <jb...@us...> - 2005-11-29 17:13:41
|
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), \ |