about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2016-03-01 16:55:36 -0800
committerH.J. Lu <hjl.tools@gmail.com>2016-03-01 16:55:36 -0800
commit521266a819be5b33b224f2e8358175c30c79f1c2 (patch)
tree261e3f62c03b721828d258d35b8217ffdff33ef7
parentdacc1a23d34994e2589fbecdd25aafa64db37ee8 (diff)
downloadglibc-521266a819be5b33b224f2e8358175c30c79f1c2.tar.gz
glibc-521266a819be5b33b224f2e8358175c30c79f1c2.tar.xz
glibc-521266a819be5b33b224f2e8358175c30c79f1c2.zip
Call x86-64 __setcontext directly
Since x86-64 __start_context calls the internal __setcontext:

5089: 00000000000417e0   145 FUNC    LOCAL  DEFAULT   13 __setcontext

it should call __setcontext directly.

	* sysdeps/unix/sysv/linux/x86_64/__start_context.S
	(__start_context): Call __setcontext directly.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/__start_context.S2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 9dabeca5d3..28086455d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-03-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* sysdeps/unix/sysv/linux/x86_64/__start_context.S
+	(__start_context): Call __setcontext directly.
+
 2016-02-26  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/alpha/kernel-features.h
diff --git a/sysdeps/unix/sysv/linux/x86_64/__start_context.S b/sysdeps/unix/sysv/linux/x86_64/__start_context.S
index 408d30d53d..6a33cd0b2d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/__start_context.S
+++ b/sysdeps/unix/sysv/linux/x86_64/__start_context.S
@@ -36,7 +36,7 @@ ENTRY(__start_context)
 	testq	%rdi, %rdi
 	je	2f			/* If it is zero exit.  */
 
-	call	JUMPTARGET(__setcontext)
+	call	__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