x86_64: makecontext: exit (0) if uc_link is the null pointer.
authorThomas Schwinge <thomas@codesourcery.com>
Tue, 17 Jul 2012 08:06:02 +0000 (10:06 +0200)
committerThomas Schwinge <thomas@codesourcery.com>
Tue, 17 Jul 2012 08:06:02 +0000 (10:06 +0200)
ChangeLog
sysdeps/unix/sysv/linux/x86_64/__start_context.S

index fce4617..9c2930f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,9 @@
 2012-07-17  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * sysdeps/unix/sysv/linux/x86_64/__start_context.S
+       (__start_context): Preserve zero value for regular exit case.
+
+2012-07-17  Thomas Schwinge  <thomas@codesourcery.com>
            Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
        * manual/setjmp.texi (setcontext): Clarify normal process
index 77d322e..9f2ee23 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Jaeger <aj@suse.de>, 2002.
 
@@ -39,8 +39,9 @@ ENTRY(__start_context)
        call    JUMPTARGET(__setcontext)
        /* If this returns (which can happen if the syscall fails) we'll
           exit the program with the return error value (-1).  */
+       movq    %rax,%rdi
 
-2:     movq    %rax,%rdi
+2:
        call    HIDDEN_JUMPTARGET(exit)
        /* The 'exit' call should never return.  In case it does cause
           the process to terminate.  */