* 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/i386/setjmp.S (__sigsetjmp): Pop our
	frame pointer early so that we save caller's frame pointer.
	* sysdeps/i386/elf/setjmp.S: Likewise.
This commit is contained in:
Greg McGary 2000-08-03 21:39:16 +00:00
parent 7f6f3e3532
commit eb48f491b1
3 changed files with 8 additions and 4 deletions

View File

@ -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.

View 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

View 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