aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-05-23 11:35:38 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-05-23 11:35:38 -0700
commit5e292e4fa55177b858fa034ab5829de3f7587d76 (patch)
treeeb0bbfa39fe183ba1727054a886f9e061587a934
parent8caf8c87e13f0f7881fa181e2482fe2d06a30456 (diff)
downloadglibc-5e292e4fa55177b858fa034ab5829de3f7587d76.tar
glibc-5e292e4fa55177b858fa034ab5829de3f7587d76.tar.gz
glibc-5e292e4fa55177b858fa034ab5829de3f7587d76.tar.bz2
glibc-5e292e4fa55177b858fa034ab5829de3f7587d76.zip
Replace "jmp L(pseudo_end)" with "ret"
-rw-r--r--ChangeLog7
-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 b/ChangeLog
index a2c4f4dc39..18e65a34d5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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-23 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/syscalls.list: Add poll.
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