Add support for MIPS release 6 - Add mips32 mips64 mipsel and mipseb macros

This commit is contained in:
Michal Toman 2016-02-19 12:05:05 +01:00 committed by Florian Festi
parent 83219d023b
commit cd02e0675e
4 changed files with 101 additions and 7 deletions

View File

@ -138,6 +138,30 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
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

View File

@ -1057,21 +1057,45 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os)
# 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

View File

@ -1013,9 +1013,25 @@ done \
# arch macro for all supported ARM processors
%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

View File

@ -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