This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Use RAX_LP and "or" to operate on return value


Hi,

This patch uses RAX_LP and "or" to operate on return value.  Tested
on Linux/x86-64.  OK to install?  Thanks.


H.J.
---
	* 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.

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 <sysdeps/unix/x86_64/sysdep.S>
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]