From: Ulrich Drepper Date: Sat, 3 Jan 2009 20:36:44 +0000 (+0000) Subject: * sysdeps/unix/sysv/linux/i386/sysdep.h: Describe 6th argument X-Git-Tag: cvs/fedora-glibc-20090108T0952~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b2bcd249bf2ada6ad1212c91e4a152b5366b6fd8;p=thirdparty%2Fglibc.git * sysdeps/unix/sysv/linux/i386/sysdep.h: Describe 6th argument handling. --- diff --git a/ChangeLog b/ChangeLog index 9bc0afced4c..c553c8102de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-01-03 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/sysdep.h: Describe 6th argument + handling. + 2009-01-02 Ulrich Drepper * sysdeps/unix/sysv/linux/kernel-features.h diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S index 72c38582386..8de9cf461a0 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S @@ -170,8 +170,8 @@ __lll_timedlock_wait: # endif pushq %r9 - cfi_adjust_cfa_offset(9) - cfi_offset(%r9, -16) + cfi_adjust_cfa_offset(8) + cfi_rel_offset(%r9, 0) movq %rdx, %r10 movl $0xffffffff, %r9d LOAD_FUTEX_WAIT_ABS (%esi) diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h index 89d5b120439..77e6bad1051 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