Update.
authorAndreas Jaeger <aj@suse.de>
Mon, 30 Sep 2002 07:08:16 +0000 (07:08 +0000)
committerAndreas Jaeger <aj@suse.de>
Mon, 30 Sep 2002 07:08:16 +0000 (07:08 +0000)
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.

ChangeLog
sysdeps/unix/sysv/linux/x86_64/sysdep.h

index 6b283c1..fe25b54 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+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.
+
 2002-09-29  Ulrich Drepper  <drepper@redhat.com>
 
        * posix/regexec.c (sift_states_bkref): Remove ret variable.  Use
index 70aa826..53dbe81 100644 (file)
@@ -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);
 
 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 */