about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-05-23 05:50:51 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-05-23 05:50:51 -0700
commit3d8fdb9d1097a9683a16846ea00e337607982e15 (patch)
tree4151604f8eef48e157b65d75e87051d5046bba79
parent882e410749f226fba5f83a980b09d0456df26004 (diff)
downloadglibc-3d8fdb9d1097a9683a16846ea00e337607982e15.tar.gz
glibc-3d8fdb9d1097a9683a16846ea00e337607982e15.tar.xz
glibc-3d8fdb9d1097a9683a16846ea00e337607982e15.zip
Replace "jmp L(pseudo_end)" with "ret"
-rw-r--r--ChangeLog.x327
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysdep.h6
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sysdep.h2
3 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index e89020c674..45f03a6458 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,3 +1,10 @@
+2012-05-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER):
+	Replace "jmp L(pseudo_end)" with "ret".
+	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
+	Likewise.
+
 2012-05-22  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* sysdeps/x86_64/stubs-biarch.h: Moved to ...
diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h
index 6c4f778914..17b816d2a0 100644
--- a/sysdeps/unix/sysv/linux/i386/sysdep.h
+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
@@ -115,7 +115,7 @@
   negl %eax;								      \
   movl %eax, rtld_errno@GOTOFF(%ecx);					      \
   orl $-1, %eax;							      \
-  jmp L(pseudo_end);
+  ret;
 
 # elif defined _LIBC_REENTRANT
 
@@ -131,7 +131,7 @@
   negl %eax;								      \
   SYSCALL_ERROR_HANDLER_TLS_STORE (%eax, %ecx);				      \
   orl $-1, %eax;							      \
-  jmp L(pseudo_end);
+  ret;
 #  ifndef NO_TLS_DIRECT_SEG_REFS
 #   define SYSCALL_ERROR_HANDLER_TLS_STORE(src, destoff)		      \
   movl src, %gs:(destoff)
@@ -149,7 +149,7 @@
   movl errno@GOT(%ecx), %ecx;						      \
   movl %eax, (%ecx);							      \
   orl $-1, %eax;							      \
-  jmp L(pseudo_end);
+  ret;
 # endif	/* _LIBC_REENTRANT */
 #endif	/* PIC */
 
diff --git a/sysdeps/unix/sysv/linux/x86_64/sysdep.h b/sysdeps/unix/sysv/linux/x86_64/sysdep.h
index cde8652936..1c3cbd6de9 100644
--- a/sysdeps/unix/sysv/linux/x86_64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/x86_64/sysdep.h
@@ -136,7 +136,7 @@
 0:						\
   SYSCALL_SET_ERRNO;				\
   or $-1, %RAX_LP;				\
-  jmp L(pseudo_end);
+  ret;
 # endif	/* PIC */
 
 /* The Linux/x86-64 kernel expects the system call parameters in