]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
* sysdeps/i386/setjmp.S (__sigsetjmp): Pop our
authorGreg McGary <greg@mcgary.org>
Thu, 3 Aug 2000 21:39:16 +0000 (21:39 +0000)
committerGreg McGary <greg@mcgary.org>
Thu, 3 Aug 2000 21:39:16 +0000 (21:39 +0000)
frame pointer early so that we save caller's frame pointer.
* sysdeps/i386/elf/setjmp.S: Likewise.
* sysdeps/i386/setjmp.S (__sigsetjmp): Pop our
frame pointer early so that we save caller's frame pointer.
* sysdeps/i386/elf/setjmp.S: Likewise.

ChangeLog
sysdeps/i386/elf/setjmp.S
sysdeps/i386/setjmp.S

index a647cab3c23a881e1f493cc41f6d47e4aeec70eb..421235748016e8578c66a8f35c73ed6bddad3723 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2000-08-03  Greg McGary  <greg@mcgary.org>
 
+       * sysdeps/i386/setjmp.S (__sigsetjmp): Pop our
+       frame pointer early so that we save caller's frame pointer.
+       * sysdeps/i386/elf/setjmp.S: Likewise.
+
        * sysdeps/unix/sysv/syscalls.list (time, utime): Correct signatures.
        * io/test-utime.c: Test passing NULL as utimbuf* arg.
 
index 1d600a489f35e80b9f6eb624c88576f80decdb6a..bf03e6561aa0b269cce9dea4365344ec92841860 100644 (file)
@@ -57,13 +57,13 @@ ENTRY (BP_SYM (__sigsetjmp))
        movl %ebx, (JB_BX*4)(%eax)
        movl %esi, (JB_SI*4)(%eax)
        movl %edi, (JB_DI*4)(%eax)
-       movl %ebp, (JB_BP*4)(%eax)
        leal JMPBUF(%esp), %ecx /* Save SP as it will be after we return.  */
        movl %ecx, (JB_SP*4)(%eax)
        movl PCOFF(%esp), %ecx  /* Save PC we are returning to now.  */
        movl %ecx, (JB_PC*4)(%eax)
-
        LEAVE /* pop frame pointer to prepare for tail-call.  */
+       movl %ebp, (JB_BP*4)(%eax) /* Save caller's frame pointer.  */
+
        /* Make a tail call to __sigjmp_save; it takes the same args.  */
 #ifdef PIC
        /* We cannot use the PLT, because it requires that %ebx be set, but
index 25b7ac8fefbe8f3d3940c28dc2f62c72f892ae9d..673b7ab35b086d13abf362b6dd7a80483ffdb527 100644 (file)
@@ -44,13 +44,13 @@ ENTRY (BP_SYM (__sigsetjmp))
        movl %ebx, (JB_BX*4)(%eax)
        movl %esi, (JB_SI*4)(%eax)
        movl %edi, (JB_DI*4)(%eax)
-       movl %ebp, (JB_BP*4)(%eax)
        leal JMPBUF(%esp), %ecx /* Save SP as it will be after we return.  */
        movl %ecx, (JB_SP*4)(%eax)
        movl PCOFF(%esp), %ecx  /* Save PC we are returning to now.  */
        movl %ecx, (JB_PC*4)(%eax)
-
        LEAVE /* pop frame pointer to prepare for tail-call.  */
+       movl %ebp, (JB_BP*4)(%eax) /* Save caller's frame pointer.  */
+
        /* Make a tail call to __sigjmp_save; it takes the same args.  */
 #ifdef PIC
        /* We cannot use the PLT, because it requires that %ebx be set, but