From 1b74487e904d7e17eda4278598632d2cd81d8068 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 18 May 2012 11:05:56 -0700 Subject: [PATCH] Use RAX_LP and "or" to operate on return value --- ChangeLog | 7 +++++++ sysdeps/unix/sysv/linux/x86_64/sysdep.S | 4 ++-- sysdeps/unix/x86_64/sysdep.S | 6 +++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9d07286..8d34cde 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-05-18 H.J. Lu + + * 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 * 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 0de339a..4372c56 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 diff --git a/sysdeps/unix/x86_64/sysdep.S b/sysdeps/unix/x86_64/sysdep.S index 66d90f2..b13fdf4 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 -- 2.7.4