From b2bcd249bf2ada6ad1212c91e4a152b5366b6fd8 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 3 Jan 2009 20:36:44 +0000 Subject: * sysdeps/unix/sysv/linux/i386/sysdep.h: Describe 6th argument handling. --- sysdeps/unix/sysv/linux/i386/sysdep.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sysdeps/unix/sysv/linux/i386/sysdep.h') diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h index 89d5b12043..77e6bad105 100644 --- a/sysdeps/unix/sysv/linux/i386/sysdep.h +++ b/sysdeps/unix/sysv/linux/i386/sysdep.h @@ -204,9 +204,11 @@ arg 3 %edx call-clobbered arg 4 %esi call-saved arg 5 %edi call-saved + arg 6 %ebp call-saved The stack layout upon entering the function is: + 24(%esp) Arg# 6 20(%esp) Arg# 5 16(%esp) Arg# 4 12(%esp) Arg# 3 @@ -215,7 +217,7 @@ (%esp) Return address (Of course a function with say 3 arguments does not have entries for - arguments 4 and 5.) + arguments 4, 5, and 6.) The following code tries hard to be optimal. A general assumption (which is true according to the data books I have) is that -- cgit 1.4.1