diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2012-05-23 11:35:38 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2012-05-23 11:35:38 -0700 |
commit | 5e292e4fa55177b858fa034ab5829de3f7587d76 (patch) | |
tree | eb0bbfa39fe183ba1727054a886f9e061587a934 | |
parent | 8caf8c87e13f0f7881fa181e2482fe2d06a30456 (diff) | |
download | glibc-5e292e4fa55177b858fa034ab5829de3f7587d76.tar.gz glibc-5e292e4fa55177b858fa034ab5829de3f7587d76.tar.xz glibc-5e292e4fa55177b858fa034ab5829de3f7587d76.zip |
Replace "jmp L(pseudo_end)" with "ret"
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/sysdep.h | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/sysdep.h | 2 |
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 |