summary refs log tree commit diff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@redhat.com>2009-07-23 18:35:00 +0200
committerAndreas Schwab <schwab@redhat.com>2009-07-23 18:35:00 +0200
commitcae1d96323ba59248eaa9eedcffb6fac7e35a8cc (patch)
treed24a2c26ec9c0d70d0a52c0a35de786058854984 /sysdeps/unix
parentd4192d9bce9e44adb2da4f2141713df9b335052f (diff)
parent9b6bf8a30292288c9536efb72d80020f189bf9a6 (diff)
downloadglibc-cae1d96323ba59248eaa9eedcffb6fac7e35a8cc.tar.gz
glibc-cae1d96323ba59248eaa9eedcffb6fac7e35a8cc.tar.xz
glibc-cae1d96323ba59248eaa9eedcffb6fac7e35a8cc.zip
Merge commit 'origin/master' into fedora/master
Conflicts:
	ChangeLog
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/i386/makecontext.S10
1 files changed, 4 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/makecontext.S b/sysdeps/unix/sysv/linux/i386/makecontext.S
index ad2340555a..5b98e64db2 100644
--- a/sysdeps/unix/sysv/linux/i386/makecontext.S
+++ b/sysdeps/unix/sysv/linux/i386/makecontext.S
@@ -1,5 +1,5 @@
 /* Create new context.
-   Copyright (C) 2001, 2002, 2005, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2001,2002,2005,2007,2008,2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
 
@@ -105,17 +105,15 @@ L(exitcode):
 1:	popl	%ebx
 	addl	$_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx
 #endif
-	popl	%eax			/* This is the next context.  */
-	testl	%eax, %eax
+	cmpl	$0, (%esp)		/* Check the next context.  */
 	je	2f			/* If it is zero exit.  */
 
-	pushl	%eax
 	call	JUMPTARGET(__setcontext)
 	/* If this returns (which can happen if the syscall fails) we'll
 	   exit the program with the return error value (-1).  */
 
-2:	pushl	%eax
-	call	HIDDEN_JUMPTARGET(exit)
+	movl	%eax, (%esp)
+2:	call	HIDDEN_JUMPTARGET(exit)
 	/* The 'exit' call should never return.  In case it does cause
 	   the process to terminate.  */
 	hlt