- Add support for MIPS release 6

- Add mips32 mips64 mipsel and mipseb macros
- Resolves: #1285116
This commit is contained in:
Florian Festi 2016-02-19 12:09:46 +01:00
parent 0d0e45ddf5
commit eb90463d6a
2 changed files with 196 additions and 0 deletions

View File

@ -0,0 +1,193 @@
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

View File

@ -69,6 +69,7 @@ Patch113: rpm-4.13.0-recursing-rpmdeps.patch
Patch114: rpm-4.13.0-autosetup-errors.patch
Patch115: rpm-4.13.0-unlimited-macro-expand.patch
Patch116: rpm-4.13.0-idle-and-sleep-in-systemd-inhibit.patch
Patch117: rpm-4.13.0-add-mipsr6-support.patch
# These are not yet upstream
Patch302: rpm-4.7.1-geode-i686.patch
@ -581,6 +582,8 @@ exit 0
%changelog
* Fri Feb 19 2016 Florian Festi <ffesti@rpm.org> - 4.4.13.0-0.rc1.24
- Also block idle and sleep in the systemd-inhibit plugin (#1297984)
- Add support for MIPS release 6
- Add mips32 mips64 mipsel and mipseb macros (#1285116)
* Mon Feb 02 2016 Lubos Kardos <lkardos@redhat.com> - 4.13.0-0.rc1.23
- Remove size limit when expanding macros (#1301677)