From f7db31703ab2e11b162d4e0e3b4af0c1c971b6cd Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 17 Jul 2012 10:06:02 +0200 Subject: [PATCH] x86_64: makecontext: exit (0) if uc_link is the null pointer. --- ChangeLog | 5 +++++ sysdeps/unix/sysv/linux/x86_64/__start_context.S | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index fce4617..9c2930f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,9 @@ 2012-07-17 Thomas Schwinge + + * sysdeps/unix/sysv/linux/x86_64/__start_context.S + (__start_context): Preserve zero value for regular exit case. + +2012-07-17 Thomas Schwinge Andreas Krebbel * manual/setjmp.texi (setcontext): Clarify normal process diff --git a/sysdeps/unix/sysv/linux/x86_64/__start_context.S b/sysdeps/unix/sysv/linux/x86_64/__start_context.S index 77d322e..9f2ee23 100644 --- a/sysdeps/unix/sysv/linux/x86_64/__start_context.S +++ b/sysdeps/unix/sysv/linux/x86_64/__start_context.S @@ -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 , 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. */ -- 2.7.4