diff options
author | Andreas Jaeger <aj@suse.de> | 2002-09-30 07:08:16 +0000 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2002-09-30 07:08:16 +0000 |
commit | 5d865001d84678e696b62126d4c49ad730a1b0a8 (patch) | |
tree | ffe3d130ea7a813ddbcb25d0c19f73761fdcb8a9 /sysdeps/unix/sysv | |
parent | 14bdd76de37251ebb6f9eb22d1552436f8c65a19 (diff) | |
download | glibc-5d865001d84678e696b62126d4c49ad730a1b0a8.tar glibc-5d865001d84678e696b62126d4c49ad730a1b0a8.tar.gz glibc-5d865001d84678e696b62126d4c49ad730a1b0a8.tar.bz2 glibc-5d865001d84678e696b62126d4c49ad730a1b0a8.zip |
Update.
2002-09-30 Andreas Jaeger <aj@suse.de>
* 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.
Diffstat (limited to 'sysdeps/unix/sysv')
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/sysdep.h | 6 |
1 files changed, 3 insertions, 3 deletions
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 */ |