From eb90463d6a2c4a9cb8eadd41faeefbf186b9c292 Mon Sep 17 00:00:00 2001 From: Florian Festi Date: Feb 19 2016 13:38:42 +0000 Subject: - Add support for MIPS release 6 - Add mips32 mips64 mipsel and mipseb macros - Resolves: #1285116 --- diff --git a/rpm-4.13.0-add-mipsr6-support.patch b/rpm-4.13.0-add-mipsr6-support.patch new file mode 100644 index 0000000..bcdcd36 --- /dev/null +++ b/rpm-4.13.0-add-mipsr6-support.patch @@ -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 diff --git a/rpm.spec b/rpm.spec index 0616824..641bcc0 100644 --- a/rpm.spec +++ b/rpm.spec @@ -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 - 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 - 4.13.0-0.rc1.23 - Remove size limit when expanding macros (#1301677)