Blob Blame History Raw
diff -urp rpm-4.12.0.1/installplatform r/installplatform
--- rpm-4.12.0.1/installplatform	2014-06-30 10:47:13.954503637 +0200
+++ r/installplatform	2015-07-14 09:34:15.917109096 +0200
@@ -114,6 +114,30 @@ for ARCH in noarch `grep ^arch_canon $RP
 	CANONARCH=aarch64
 	CANONCOLOR=3
 	;;
+    mips)
+	ISANAME=mips
+	ISABITS=32
+	CANONARCH=mips
+	CANONCOLOR=0
+	;;
+    mipsel)
+	ISANAME=mips
+	ISABITS=32
+	CANONARCH=mipsel
+	CANONCOLOR=0
+	;;
+    mips64)
+	ISANAME=mips
+	ISABITS=64
+	CANONARCH=mips64
+	CANONCOLOR=3
+	;;
+    mips64el)
+	ISANAME=mips
+	ISABITS=64
+	CANONARCH=mips64el
+	CANONCOLOR=3
+	;;
     m68k)
 	ISANAME=m68k
 	ISABITS=32
diff -urp rpm-4.12.0.1/lib/rpmrc.c r/lib/rpmrc.c
--- rpm-4.12.0.1/lib/rpmrc.c	2014-07-03 17:11:48.572096075 +0200
+++ r/lib/rpmrc.c	2015-07-14 09:34:15.918109105 +0200
@@ -1053,10 +1053,22 @@ static void defaultMachine(rpmrcCtx ctx,
 
 #	if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL)
 	    /* little endian */
-	    strcpy(un.machine, "mipsel");
+#		if defined(__LP64__) || defined(_LP64)
+		    /* 64-bit */
+		    strcpy(un.machine, "mips64el");
+#		else
+		    /* 32-bit */
+		    strcpy(un.machine, "mipsel");
+#		endif
 #	elif defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB)
 	   /* big endian */
-		strcpy(un.machine, "mips");
+#		if defined(__LP64__) || defined(_LP64)
+		    /* 64-bit */
+		    strcpy(un.machine, "mips64");
+#		else
+		    /* 32-bit */
+		    strcpy(un.machine, "mips");
+#		endif
 #	endif
 
 #	if defined(__hpux) && defined(_SC_CPU_VERSION)
diff -urp rpm-4.12.0.1/macros.in r/macros.in
--- rpm-4.12.0.1/macros.in	2015-07-14 09:33:34.422697268 +0200
+++ r/macros.in	2015-07-14 09:34:15.918109105 +0200
@@ -1011,6 +1011,10 @@ done \
 %arm	armv3l armv4b armv4l armv4tl armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl
 
 #------------------------------------------------------------------------------
+# arch macro for all supported MIPS processors
+%mips	mips mipsel mips64 mips64el
+
+#------------------------------------------------------------------------------
 # arch macro for all supported Sparc processors
 %sparc sparc sparcv8 sparcv9 sparcv9v sparc64 sparc64v
 
diff -urp rpm-4.12.0.1/rpmrc.in r/rpmrc.in
--- rpm-4.12.0.1/rpmrc.in	2015-07-14 09:33:34.413697179 +0200
+++ r/rpmrc.in	2015-07-14 09:34:47.557423122 +0200
@@ -59,6 +59,8 @@ optflags: hppa2.0 -O2 -g -mpa-risc-1-0
 
 optflags: mips -O2 -g
 optflags: mipsel -O2 -g
+optflags: mips64 -O2 -g
+optflags: mips64el -O2 -g
 
 optflags: armv3l -O2 -g -march=armv3
 optflags: armv4b -O2 -g -march=armv4
@@ -114,6 +116,11 @@ archcolor: armv5tejl 1
 archcolor: armv6l 1
 archcolor: armv7l 1
 
+archcolor: mips 1
+archcolor: mipsel 1
+archcolor: mips64 2
+archcolor: mips64el 2
+
 archcolor: m68k 1
 
 archcolor: m68kmint 1
@@ -167,6 +174,7 @@ arch_canon:   sparcv9: sparcv9	3
 arch_canon:	sparcv9v: sparcv9v	3
 # This is really a place holder for MIPS.
 arch_canon:	mips:	mips	4
+arch_canon:	mipsel:	mipsel	4
 
 arch_canon:	ppc:	ppc	5
 arch_canon:	ppc8260:	ppc8260	5
@@ -180,7 +188,8 @@ arch_canon:	IP:	sgi	7
 arch_canon:     rs6000:	rs6000  8
 arch_canon:     ia64:	ia64	9
 
-arch_canon:	mipsel:	mipsel	11
+arch_canon:	mips64:		mips64		11
+arch_canon:	mips64el:	mips64el	11
 
 arch_canon:	armv3l: armv3l	12
 arch_canon:     armv4b:	armv4b 	12
@@ -309,6 +318,11 @@ buildarchtranslate: armv7l: armv7l
 buildarchtranslate: armv7hl: armv7hl
 buildarchtranslate: armv7hnl: armv7hnl
 
+buildarchtranslate: mips: mips
+buildarchtranslate: mipsel: mipsel
+buildarchtranslate: mips64: mips64
+buildarchtranslate: mips64el: mips64el
+
 buildarchtranslate: m68k: m68k
 
 buildarchtranslate: atarist: m68kmint
@@ -387,6 +401,8 @@ arch_compat: sparc: noarch
 
 arch_compat: mips: noarch
 arch_compat: mipsel: noarch
+arch_compat: mips64: mips
+arch_compat: mips64el: mipsel
 
 arch_compat: hppa2.0: hppa1.2
 arch_compat: hppa1.2: hppa1.1
@@ -508,6 +524,8 @@ buildarch_compat: ppc64p7: ppc64
 
 buildarch_compat: mips: noarch
 buildarch_compat: mipsel: noarch
+buildarch_compat: mips64: noarch
+buildarch_compat: mips64el: noarch
 
 buildarch_compat: armv4b: noarch
 buildarch_compat: armv7l: armv6l