about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSteve Ellcey <sellcey@mips.com>2014-12-19 14:37:44 -0800
committerSteve Ellcey <sellcey@mips.com>2014-12-19 14:37:44 -0800
commit04d55561978eb59e36ced8fc1e8d87a72ef70072 (patch)
tree90fb313b2e267093cd2c5537442794c802aab2ee
parent3eb38795dbbbd8160012050de4dfef200a21f2bf (diff)
downloadglibc-04d55561978eb59e36ced8fc1e8d87a72ef70072.tar.gz
glibc-04d55561978eb59e36ced8fc1e8d87a72ef70072.tar.xz
glibc-04d55561978eb59e36ced8fc1e8d87a72ef70072.zip
2014-12-19 Steve Ellcey <sellcey@imgtec.com>
	* sysdeps/mips/sys/asm.h (PTR_ADDU): Use addu on mips32r6/mips64r6.
	(PTR_ADDIU): Use addiu for mips32r6/mips64r6.
	(PTR_SUBU): Use subu for mips32r6/mips64r6.
	(PTR_SUBIU): Use subu for mips32r6/mips64r6 (subiu does not exist).
	* sysdeps/mips/machine-gmon.h (PTR_ADDU_STRING) Use addu for
	mips32r6/mips64r6.
	(PTR_SUBU_STRING) Use subu for mips32r6/mips64r6.
-rw-r--r--sysdeps/mips/machine-gmon.h9
-rw-r--r--sysdeps/mips/sys/asm.h11
2 files changed, 16 insertions, 4 deletions
diff --git a/sysdeps/mips/machine-gmon.h b/sysdeps/mips/machine-gmon.h
index aac1723ef5..f5d1c64e2c 100644
--- a/sysdeps/mips/machine-gmon.h
+++ b/sysdeps/mips/machine-gmon.h
@@ -83,8 +83,13 @@ static void __attribute_used__ __mcount (u_long frompc, u_long selfpc)
 #endif
 
 #if _MIPS_SIM == _ABIN32
-# define PTR_ADDU_STRING "add" /* no u */
-# define PTR_SUBU_STRING "sub" /* no u */
+# if __mips_isa_rev < 6
+#  define PTR_ADDU_STRING "add" /* no u */
+#  define PTR_SUBU_STRING "sub" /* no u */
+# else
+#  define PTR_ADDU_STRING "addu"
+#  define PTR_SUBU_STRING "subu"
+# endif
 #elif _MIPS_SIM == _ABI64
 # define PTR_ADDU_STRING "daddu"
 # define PTR_SUBU_STRING "dsubu"
diff --git a/sysdeps/mips/sys/asm.h b/sysdeps/mips/sys/asm.h
index e479e9bfa7..a618d4974d 100644
--- a/sysdeps/mips/sys/asm.h
+++ b/sysdeps/mips/sys/asm.h
@@ -416,12 +416,19 @@ symbol		=	value
 #if _MIPS_SIM == _ABIN32
 # define PTR_ADD	add
 # define PTR_ADDI	addi
-# define PTR_ADDU	add /* no u */
-# define PTR_ADDIU	addi /* no u */
 # define PTR_SUB	sub
 # define PTR_SUBI	subi
+#if __mips_isa_rev < 6
+# define PTR_ADDU	add /* no u */
+# define PTR_ADDIU	addi /* no u */
 # define PTR_SUBU	sub /* no u */
 # define PTR_SUBIU	sub /* no u */
+#else
+# define PTR_ADDU       addu
+# define PTR_ADDIU      addiu
+# define PTR_SUBU       subu
+# define PTR_SUBIU      subu
+#endif
 # define PTR_L		lw
 # define PTR_LA		la
 # define PTR_S		sw