From 5e292e4fa55177b858fa034ab5829de3f7587d76 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 23 May 2012 11:35:38 -0700 Subject: [PATCH] Replace "jmp L(pseudo_end)" with "ret" --- ChangeLog | 7 +++++++ sysdeps/unix/sysv/linux/i386/sysdep.h | 6 +++--- sysdeps/unix/sysv/linux/x86_64/sysdep.h | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index a2c4f4d..18e65a3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-05-23 H.J. Lu + + * 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 * 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 6c4f778..17b816d 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 cde8652..1c3cbd6 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 -- 2.7.4