Blob Blame History Raw
diff -urp rpm-4.13.0-rc1/installplatform r/installplatform
--- rpm-4.13.0-rc1/installplatform	2015-08-26 15:52:41.856044288 +0200
+++ r/installplatform	2015-11-24 21:53:09.146590589 +0100
@@ -138,6 +138,30 @@ for ARCH in noarch `grep ^arch_canon $RP
 	CANONARCH=mips64el
 	CANONCOLOR=3
 	;;
+    mipsr6)
+	ISANAME=mipsr6
+	ISABITS=32
+	CANONARCH=mipsr6
+	CANONCOLOR=0
+	;;
+    mipsr6el)
+	ISANAME=mipsr6
+	ISABITS=32
+	CANONARCH=mipsr6el
+	CANONCOLOR=0
+	;;
+    mips64r6)
+	ISANAME=mipsr6
+	ISABITS=64
+	CANONARCH=mips64r6
+	CANONCOLOR=3
+	;;
+    mips64r6el)
+	ISANAME=mipsr6
+	ISABITS=64
+	CANONARCH=mips64r6el
+	CANONCOLOR=3
+	;;
     m68k)
 	ISANAME=m68k
 	ISABITS=32
diff -urp rpm-4.13.0-rc1/lib/rpmrc.c r/lib/rpmrc.c
--- rpm-4.13.0-rc1/lib/rpmrc.c	2015-08-28 15:14:50.593500511 +0200
+++ r/lib/rpmrc.c	2015-11-24 21:37:41.966760327 +0100
@@ -1057,21 +1057,45 @@ static void defaultMachine(rpmrcCtx ctx,
 
 #	if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL)
 	    /* little endian */
-#		if defined(__LP64__) || defined(_LP64)
+#		if defined(__mips64)
 		    /* 64-bit */
-		    strcpy(un.machine, "mips64el");
+#			if !defined(__mips_isa_rev) || __mips_isa_rev < 6
+			    /* r1-r5 */
+			    strcpy(un.machine, "mips64el");
+#			else
+			    /* r6 */
+			    strcpy(un.machine, "mips64r6el");
+#			endif
 #		else
 		    /* 32-bit */
-		    strcpy(un.machine, "mipsel");
+#			if !defined(__mips_isa_rev) || __mips_isa_rev < 6
+			    /* r1-r5 */
+			    strcpy(un.machine, "mipsel");
+#			else
+			    /* r6 */
+			    strcpy(un.machine, "mipsr6el");
+#			endif
 #		endif
 #	elif defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB)
 	   /* big endian */
-#		if defined(__LP64__) || defined(_LP64)
+#		if defined(__mips64)
 		    /* 64-bit */
-		    strcpy(un.machine, "mips64");
+#			if !defined(__mips_isa_rev) || __mips_isa_rev < 6
+			    /* r1-r5 */
+			    strcpy(un.machine, "mips64");
+#			else
+			    /* r6 */
+			    strcpy(un.machine, "mips64r6");
+#			endif
 #		else
 		    /* 32-bit */
-		    strcpy(un.machine, "mips");
+#			if !defined(__mips_isa_rev) || __mips_isa_rev < 6
+			    /* r1-r5 */
+			    strcpy(un.machine, "mips");
+#			else
+			    /* r6 */
+			    strcpy(un.machine, "mipsr6");
+#			endif
 #		endif
 #	endif
 
diff -urp rpm-4.13.0-rc1/macros.in r/macros.in
--- rpm-4.13.0-rc1/macros.in	2015-11-24 19:44:16.862367540 +0100
+++ r/macros.in	2015-11-24 19:54:11.208427621 +0100
@@ -1025,8 +1025,24 @@ done \
 %arm	armv3l armv4b armv4l armv4tl armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl
 
 #------------------------------------------------------------------------------
+# arch macro for 32-bit MIPS processors
+%mips32	mips mipsel mipsr6 mipsr6el
+
+#------------------------------------------------------------------------------
+# arch macro for 64-bit MIPS processors
+%mips64	mips64 mips64el mips64r6 mips64r6el
+
+#------------------------------------------------------------------------------
+# arch macro for big endian MIPS processors
+%mipseb	mips mipsr6 mips64 mips64r6
+
+#------------------------------------------------------------------------------
+# arch macro for little endian MIPS processors
+%mipsel	mipsel mipsr6el mips64el mips64r6el
+
+#------------------------------------------------------------------------------
 # arch macro for all supported MIPS processors
-%mips	mips mipsel mips64 mips64el
+%mips	%{mips32} %{mips64}
 
 #------------------------------------------------------------------------------
 # arch macro for all supported Sparc processors
diff -urp rpm-4.13.0-rc1/rpmrc.in r/rpmrc.in
--- rpm-4.13.0-rc1/rpmrc.in	2015-11-24 19:44:16.858367519 +0100
+++ r/rpmrc.in	2015-11-24 19:50:36.544322671 +0100
@@ -62,6 +62,11 @@ optflags: mipsel -O2 -g
 optflags: mips64 -O2 -g
 optflags: mips64el -O2 -g
 
+optflags: mipsr6 -O2 -g
+optflags: mipsr6el -O2 -g
+optflags: mips64r6 -O2 -g
+optflags: mips64r6el -O2 -g
+
 optflags: armv3l -O2 -g -march=armv3
 optflags: armv4b -O2 -g -march=armv4
 optflags: armv4l -O2 -g -march=armv4
@@ -121,6 +126,11 @@ archcolor: mipsel 1
 archcolor: mips64 2
 archcolor: mips64el 2
 
+archcolor: mipsr6 1
+archcolor: mipsr6el 1
+archcolor: mips64r6 2
+archcolor: mips64r6el 2
+
 archcolor: m68k 1
 
 archcolor: m68kmint 1
@@ -228,6 +238,11 @@ arch_canon:	sh4a: sh4a	17
 arch_canon:	xtensa: xtensa	18
 arch_canon:	aarch64: aarch64 19
 
+arch_canon:	mipsr6: mipsr6	20
+arch_canon:	mipsr6el: mipsr6el	20
+arch_canon:	mips64r6: mips64r6	21
+arch_canon:	mips64r6el: mips64r6el	21
+
 #############################################################
 # Canonical OS names and numbers
 
@@ -323,6 +338,11 @@ buildarchtranslate: mipsel: mipsel
 buildarchtranslate: mips64: mips64
 buildarchtranslate: mips64el: mips64el
 
+buildarchtranslate: mipsr6: mipsr6
+buildarchtranslate: mipsr6el: mipsr6el
+buildarchtranslate: mips64r6: mips64r6
+buildarchtranslate: mips64r6el: mips64r6el
+
 buildarchtranslate: m68k: m68k
 
 buildarchtranslate: atarist: m68kmint
@@ -404,6 +424,11 @@ arch_compat: mipsel: noarch
 arch_compat: mips64: mips
 arch_compat: mips64el: mipsel
 
+arch_compat: mipsr6: noarch
+arch_compat: mipsr6el: noarch
+arch_compat: mips64r6: mipsr6
+arch_compat: mips64r6el: mipsr6el
+
 arch_compat: hppa2.0: hppa1.2
 arch_compat: hppa1.2: hppa1.1
 arch_compat: hppa1.1: hppa1.0
@@ -527,6 +552,11 @@ buildarch_compat: mipsel: noarch
 buildarch_compat: mips64: noarch
 buildarch_compat: mips64el: noarch
 
+buildarch_compat: mipsr6: noarch
+buildarch_compat: mipsr6el: noarch
+buildarch_compat: mips64r6: noarch
+buildarch_compat: mips64r6el: noarch
+
 buildarch_compat: armv4b: noarch
 buildarch_compat: armv7l: armv6l
 buildarch_compat: armv6l: armv5tejl