diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/sysdep.S | 4 | ||||
-rw-r--r-- | sysdeps/unix/x86_64/sysdep.S | 6 |
3 files changed, 12 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog index 9d07286d08..8d34cdee5f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-05-18 H.J. Lu <hongjiu.lu@intel.com> + + * sysdeps/unix/x86_64/sysdep.S: Use RAX_LP to access return + value. Use "or" to set return value to -1. + * sysdeps/unix/sysv/linux/x86_64/sysdep.S: Use RAX_LP to + negate return value. + 2012-05-18 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> * sysdeps/powerpc/powerpc32/power4/Makefile (CFLAGS-wordcopy.c, diff --git a/sysdeps/unix/sysv/linux/x86_64/sysdep.S b/sysdeps/unix/sysv/linux/x86_64/sysdep.S index 0de339a132..4372c5610c 100644 --- a/sysdeps/unix/sysv/linux/x86_64/sysdep.S +++ b/sysdeps/unix/sysv/linux/x86_64/sysdep.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2001, 2002 Free Software Foundation, Inc. +/* Copyright (C) 2001-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,7 +32,7 @@ .text ENTRY (__syscall_error) - negq %rax + neg %RAX_LP #define __syscall_error __syscall_error_1 #include <sysdeps/unix/x86_64/sysdep.S> diff --git a/sysdeps/unix/x86_64/sysdep.S b/sysdeps/unix/x86_64/sysdep.S index 66d90f2d83..b13fdf4aed 100644 --- a/sysdeps/unix/x86_64/sysdep.S +++ b/sysdeps/unix/x86_64/sysdep.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2001,2002,2004,2005,2011,2012 Free Software Foundation, Inc. +/* Copyright (C) 2001-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -34,7 +34,7 @@ __syscall_error: /* We translate the system's EWOULDBLOCK error into EAGAIN. The GNU C library always defines EWOULDBLOCK==EAGAIN. EWOULDBLOCK_sys is the original number. */ - cmpq $EWOULDBLOCK_sys, %rax /* Is it the old EWOULDBLOCK? */ + cmp $EWOULDBLOCK_sys, %RAX_LP /* Is it the old EWOULDBLOCK? */ jne notb /* Branch if not. */ movl $EAGAIN, %eax /* Yes; translate it to EAGAIN. */ notb: @@ -45,7 +45,7 @@ notb: #else movl %eax, %fs:C_SYMBOL_NAME(errno@TPOFF) #endif - movq $-1, %rax + or $-1, %RAX_LP ret #undef __syscall_error |