diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2012-05-18 11:05:56 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2012-05-18 11:05:56 -0700 |
commit | 1b74487e904d7e17eda4278598632d2cd81d8068 (patch) | |
tree | 9ca594f35403fc022a83a65d98017c77a272835e | |
parent | a88b64b9bbf8b2a315206e211250c5529534a477 (diff) | |
download | glibc-1b74487e904d7e17eda4278598632d2cd81d8068.tar glibc-1b74487e904d7e17eda4278598632d2cd81d8068.tar.gz glibc-1b74487e904d7e17eda4278598632d2cd81d8068.tar.bz2 glibc-1b74487e904d7e17eda4278598632d2cd81d8068.zip |
Use RAX_LP and "or" to operate on return value
-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
@@ -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 |