From 5d865001d84678e696b62126d4c49ad730a1b0a8 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Mon, 30 Sep 2002 07:08:16 +0000 Subject: Update. 2002-09-30 Andreas Jaeger * iconvdata/tst-e2big.c (test): Use %td in printf for ptrdiff_t. * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): Store 4 bytes into errno, not 8 bytes. --- sysdeps/unix/sysv/linux/x86_64/sysdep.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sysdeps/unix/sysv/linux/x86_64/sysdep.h') diff --git a/sysdeps/unix/sysv/linux/x86_64/sysdep.h b/sysdeps/unix/sysv/linux/x86_64/sysdep.h index 70aa826b18..53dbe8143f 100644 --- a/sysdeps/unix/sysv/linux/x86_64/sysdep.h +++ b/sysdeps/unix/sysv/linux/x86_64/sysdep.h @@ -79,7 +79,7 @@ #ifndef PIC #define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */ #else -/* Store (- %rax) into errno through the GOT. */ +/* Store (- %rax) into errno through the GOT. Note that errno occupies 4 bytes. */ #ifdef _LIBC_REENTRANT #define SYSCALL_ERROR_HANDLER \ 0: \ @@ -90,7 +90,7 @@ call BP_SYM (__errno_location)@PLT; \ POP_ERRNO_LOCATION_RETURN; \ popq %rdx; \ - movq %rdx, (%rax); \ + movl %edx, (%rax); \ orq $-1, %rax; \ jmp L(pseudo_end); @@ -101,7 +101,7 @@ 0:movq errno@GOTPCREL(%RIP), %rcx; \ xorq %rdx, %rdx; \ subq %rax, %rdx; \ - movq %rdx, (%rcx); \ + movl %edx, (%rcx); \ orq $-1, %rax; \ jmp L(pseudo_end); #endif /* _LIBC_REENTRANT */ -- cgit 1.4.1