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, MIPS] Fix *_SUB instruction macros


While doing some work in glibc, I noticed that some of the *_SUB instruction
macros in sysdeps/mips/sys/asm.h are defined to do addition instructions
instead of subtraction instructions.  I don't know why this is but it seems
obviously wrong and it is different then the definitions in the linux kernel
which do define these as subtract instructions (arch/mips/include/asm/asm.h).

This patch changes the macros to do sub instructions instead of add.

OK to checkin?

Steve Ellcey
sellcey@mips.com



2014-05-07  Steve Ellcey  <sellcey@mips.com>

	* sysdeps/mips/sys/asm.h (INT_SUB): Fix definition.
	(LONG_SUB): Ditto.
	(PTR_SUB): Ditto.

diff --git a/sysdeps/mips/sys/asm.h b/sysdeps/mips/sys/asm.h
index 5015cb6..e479e9b 100644
--- a/sysdeps/mips/sys/asm.h
+++ b/sysdeps/mips/sys/asm.h
@@ -326,7 +326,7 @@ symbol		=	value
 # define INT_ADDI	addi
 # define INT_ADDU	addu
 # define INT_ADDIU	addiu
-# define INT_SUB	add
+# define INT_SUB	sub
 # define INT_SUBI	subi
 # define INT_SUBU	subu
 # define INT_SUBIU	subu
@@ -339,7 +339,7 @@ symbol		=	value
 # define INT_ADDI	daddi
 # define INT_ADDU	daddu
 # define INT_ADDIU	daddiu
-# define INT_SUB	dadd
+# define INT_SUB	dsub
 # define INT_SUBI	dsubi
 # define INT_SUBU	dsubu
 # define INT_SUBIU	dsubu
@@ -355,7 +355,7 @@ symbol		=	value
 # define LONG_ADDI	addi
 # define LONG_ADDU	addu
 # define LONG_ADDIU	addiu
-# define LONG_SUB	add
+# define LONG_SUB	sub
 # define LONG_SUBI	subi
 # define LONG_SUBU	subu
 # define LONG_SUBIU	subu
@@ -374,7 +374,7 @@ symbol		=	value
 # define LONG_ADDI	daddi
 # define LONG_ADDU	daddu
 # define LONG_ADDIU	daddiu
-# define LONG_SUB	dadd
+# define LONG_SUB	dsub
 # define LONG_SUBI	dsubi
 # define LONG_SUBU	dsubu
 # define LONG_SUBIU	dsubu
@@ -396,7 +396,7 @@ symbol		=	value
 # define PTR_ADDI	addi
 # define PTR_ADDU	addu
 # define PTR_ADDIU	addiu
-# define PTR_SUB	add
+# define PTR_SUB	sub
 # define PTR_SUBI	subi
 # define PTR_SUBU	subu
 # define PTR_SUBIU	subu
@@ -418,7 +418,7 @@ symbol		=	value
 # define PTR_ADDI	addi
 # define PTR_ADDU	add /* no u */
 # define PTR_ADDIU	addi /* no u */
-# define PTR_SUB	add
+# define PTR_SUB	sub
 # define PTR_SUBI	subi
 # define PTR_SUBU	sub /* no u */
 # define PTR_SUBIU	sub /* no u */
@@ -441,7 +441,7 @@ symbol		=	value
 # define PTR_ADDI	daddi
 # define PTR_ADDU	daddu
 # define PTR_ADDIU	daddiu
-# define PTR_SUB	dadd
+# define PTR_SUB	dsub
 # define PTR_SUBI	dsubi
 # define PTR_SUBU	dsubu
 # define PTR_SUBIU	dsubu


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