瀏覽代碼

add update from psm to support 6 arguments to syscall

Mike Frysinger 20 年之前
父節點
當前提交
6e6b2c4c78
共有 1 個文件被更改,包括 11 次插入6 次删除
  1. 11 6
      libc/sysdeps/linux/i386/syscall.S

+ 11 - 6
libc/sysdeps/linux/i386/syscall.S

@@ -25,20 +25,25 @@
 .type   syscall,%function
 .align 4
 syscall:
+	pushl %ebp
 	pushl %edi
 	pushl %esi
 	pushl %ebx
-	movl  36(%esp),%edi	/* Load the 5 syscall argument registers */
-	movl  32(%esp),%esi
-	movl  28(%esp),%edx
-	movl  24(%esp),%ecx
-	movl  20(%esp),%ebx
-	movl  16(%esp),%eax	/* Load syscall number into %eax.  */
+
+	movl  44(%esp),%ebp	/* Load the 6 syscall argument registers */
+	movl  40(%esp),%edi
+	movl  36(%esp),%esi
+	movl  32(%esp),%edx
+	movl  28(%esp),%ecx
+	movl  24(%esp),%ebx
+	movl  20(%esp),%eax	/* Load syscall number into %eax.  */
 	int $0x80
 
 	popl %ebx
 	popl %esi
 	popl %edi
+	popl %ebp
+
 	cmpl $-4095,%eax
 	jae  __error
 	ret			/* Return to caller.  */