[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#824995: gcc-6: add MIPS r6 support and bump mipsn32(el) ISA to r2



And the attached is patch for mipsr6 support.

On Mon, Aug 29, 2016 at 12:48 AM, YunQiang Su <wzssyqa@gmail.com> wrote:
> @Matthias, I pushed the patch to cross-toolchain-base to git.launchpad.net
> with a branch name `add-mips-n32-r6-support'.
>
> On Sat, Aug 27, 2016 at 9:01 AM, YunQiang Su <wzssyqa@gmail.com> wrote:
>> Yeah, I am working on it.
>> It seems going well.
>>
>> I think that I can figure it out soon.
>>
>> On Wed, Aug 24, 2016 at 2:44 PM, Matthias Klose <doko@debian.org> wrote:
>>> Control: tags -1 - patch
>>> Control: tags -1 + help
>>>
>>> On 22.05.2016 10:51, YunQiang Su wrote:
>>>> Package: src:gcc-6
>>>> Version: 6.1.1-4
>>>>
>>>> Hi, this is the patch for gcc-5, which add MIPS r6 support, include
>>>>     mipsr6/mipsr6el/mipsn32r6/mipsn32r6el/mips64r6/mips64r6el
>>>>
>>>> In this patch, I also bump ISA to r2 from mips3 for mipsn32(el).
>>>
>>> The patch doesn't apply anymore. Please could you update it for 6.2.0-1?  We
>>> also likely need patches for cross-toolchain-base-ports and gcc-6-cross-ports.
>>>
>>>
>>
>>
>>
>> --
>> YunQiang Su
>
>
>
> --
> YunQiang Su



-- 
YunQiang Su
diff --git a/debian/control b/debian/control
index 6585813..43b8f52 100644
--- a/debian/control
+++ b/debian/control
@@ -5,8 +5,8 @@ Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
 Uploaders: Matthias Klose <doko@debian.org>
 Standards-Version: 3.9.8
 Build-Depends: debhelper (>= 9.20141010), dpkg-dev (>= 1.17.14), 
-  g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32] <!cross>, g++-5 [arm64] <!cross>, 
-  libc6.1-dev (>= 2.13-5) [alpha ia64] | libc0.3-dev (>= 2.13-5) [hurd-i386] | libc0.1-dev (>= 2.13-5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-5), libc6-dev (>= 2.13-31) [armel armhf], libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el s390x sparc64 x32], libn32gcc1 [mips mipsel mips64 mips64el], lib64gcc1 [i386 mips mipsel mipsn32 mipsn32el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el], libc6-dev-x32 [amd64 i386], libx32gcc1 [amd64 i386], libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-i386] | libc0.1-dbg [kfreebsd-i386 kfreebsd-amd64] | libc6-dbg, 
+  g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32] <!cross>, g++-5 [arm64] <!cross>, 
+  libc6.1-dev (>= 2.13-5) [alpha ia64] | libc0.3-dev (>= 2.13-5) [hurd-i386] | libc0.1-dev (>= 2.13-5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-5), libc6-dev (>= 2.13-31) [armel armhf], libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el s390x sparc64 x32], libn32gcc1 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], lib64gcc1 [i386 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el], libc6-dev-x32 [amd64 i386], libx32gcc1 [amd64 i386], libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-i386] | libc0.1-dbg [kfreebsd-i386 kfreebsd-amd64] | libc6-dbg, 
   kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any], linux-libc-dev [m68k], 
   m4, libtool, autoconf2.64, 
   libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], 
@@ -141,7 +141,7 @@ Description: GCC support library (debug symbols)
  Debug symbols for the GCC support library.
 
 Package: lib64gcc-6-dev
-Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 mipsr6 mipsr6el mipsn32r6 mipsn32r6el
 Section: libdevel
 Priority: optional
 Recommends: ${dep:libcdev}
@@ -176,7 +176,7 @@ Description: GCC support library (debug symbols)
  Debug symbols for the GCC support library.
 
 Package: lib32gcc-6-dev
-Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
 Section: libdevel
 Priority: optional
 Recommends: ${dep:libcdev}
@@ -211,7 +211,7 @@ Description: GCC support library (debug symbols)
  Debug symbols for the GCC support library.
 
 Package: libn32gcc-6-dev
-Architecture: mips mipsel mips64 mips64el
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
 Section: libdevel
 Priority: optional
 Recommends: ${dep:libcdev}
@@ -288,7 +288,7 @@ Description: GNU C compiler
  This is the GNU C compiler, a fairly portable optimizing compiler for C.
 
 Package: gcc-6-multilib
-Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32
+Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32
 Section: devel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), gcc-6 (= ${gcc:Version}), ${dep:libcbiarchdev}, ${dep:libgccbiarchdev}, ${shlibs:Depends}, ${misc:Depends}
@@ -368,7 +368,7 @@ Description: GNU C++ compiler
  This is the GNU C++ compiler, a fairly portable optimizing compiler for C++.
 
 Package: g++-6-multilib
-Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32
+Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32
 Section: devel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), g++-6 (= ${gcc:Version}), gcc-6-multilib (= ${gcc:Version}), ${dep:libcxxbiarchdev}, ${shlibs:Depends}, ${misc:Depends}
@@ -405,7 +405,7 @@ Description: GCC OpenMP (GOMP) support library (debug symbols)
 
 Package: lib32gomp1
 Section: libs
-Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
 Conflicts: ${confl:lib32}
@@ -712,7 +712,7 @@ Description: AddressSanitizer -- a fast memory error detector (32bit)
  use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
 
 Package: lib32asan3-dbg
-Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
 Section: debug
 Priority: extra
 Depends: gcc-6-base (= ${gcc:Version}), lib32asan3 (= ${gcc:Version}), ${misc:Depends}
@@ -722,7 +722,7 @@ Description: AddressSanitizer -- a fast memory error detector (32 bit debug symb
 
 Package: lib64asan3
 Section: libs
-Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 mipsr6 mipsr6el mipsn32r6 mipsn32r6el
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
 Description: AddressSanitizer -- a fast memory error detector (64bit)
@@ -730,7 +730,7 @@ Description: AddressSanitizer -- a fast memory error detector (64bit)
  use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
 
 Package: lib64asan3-dbg
-Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 mipsr6 mipsr6el mipsn32r6 mipsn32r6el
 Section: debug
 Priority: extra
 Depends: gcc-6-base (= ${gcc:Version}), lib64asan3 (= ${gcc:Version}), ${misc:Depends}
@@ -1113,7 +1113,7 @@ Description: Intel memory protection extensions (debug symbols)
 
 Package: lib32mpx2
 Section: libs
-Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
 Conflicts: ${confl:lib32}
@@ -1125,7 +1125,7 @@ Description: Intel memory protection extensions (32bit)
  intentions are usurped at runtime due to buffer overflow.
 
 Package: lib32mpx2-dbg
-Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
 Section: debug
 Priority: extra
 Depends: gcc-6-base (= ${gcc:Version}), lib32mpx2 (= ${gcc:Version}), ${misc:Depends}
@@ -1137,7 +1137,7 @@ Description: Intel memory protection extensions (32 bit debug symbols)
 
 Package: lib64mpx2
 Section: libs
-Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 mipsr6 mipsr6el mipsn32r6 mipsn32r6el
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
 Replaces: lib64mpx0 (<< 6-20160120-1)
@@ -1148,7 +1148,7 @@ Description: Intel memory protection extensions (64bit)
  intentions are usurped at runtime due to buffer overflow.
 
 Package: lib64mpx2-dbg
-Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 mipsr6 mipsr6el mipsn32r6 mipsn32r6el
 Section: debug
 Priority: extra
 Depends: gcc-6-base (= ${gcc:Version}), lib64mpx2 (= ${gcc:Version}), ${misc:Depends}
@@ -1330,7 +1330,7 @@ Description: GNU Objective-C++ compiler
  gcc backend to generate optimized code.
 
 Package: gobjc++-6-multilib
-Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32
+Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32
 Section: devel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), gobjc++-6 (= ${gcc:Version}), g++-6-multilib (= ${gcc:Version}), gobjc-6-multilib (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -1353,7 +1353,7 @@ Description: GNU Objective-C compiler
  gcc backend to generate optimized code.
 
 Package: gobjc-6-multilib
-Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32
+Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32
 Section: devel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), gobjc-6 (= ${gcc:Version}), gcc-6-multilib (= ${gcc:Version}), ${dep:libobjcbiarchdev}, ${shlibs:Depends}, ${misc:Depends}
@@ -1375,7 +1375,7 @@ Description: Runtime library for GNU Objective-C applications (development files
  GNU ObjC applications.
 
 Package: lib64objc-6-dev
-Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 mipsr6 mipsr6el mipsn32r6 mipsn32r6el
 Section: libdevel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), lib64gcc-6-dev (= ${gcc:Version}), lib64objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -1384,7 +1384,7 @@ Description: Runtime library for GNU Objective-C applications (64bit development
  GNU ObjC applications.
 
 Package: lib32objc-6-dev
-Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
 Section: libdevel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), lib32gcc-6-dev (= ${gcc:Version}), lib32objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -1393,7 +1393,7 @@ Description: Runtime library for GNU Objective-C applications (32bit development
  GNU ObjC applications.
 
 Package: libn32objc-6-dev
-Architecture: mips mipsel mips64 mips64el
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
 Section: libdevel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), libn32gcc-6-dev (= ${gcc:Version}), libn32objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -1510,7 +1510,7 @@ Description: GNU Fortran compiler
  gcc backend to generate optimized code.
 
 Package: gfortran-6-multilib
-Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32
+Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32
 Section: devel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), gfortran-6 (= ${gcc:Version}), gcc-6-multilib (= ${gcc:Version}), ${dep:libgfortranbiarchdev}, ${shlibs:Depends}, ${misc:Depends}
@@ -1532,7 +1532,7 @@ Description: Runtime library for GNU Fortran applications (development files)
  GNU Fortran applications.
 
 Package: lib64gfortran-6-dev
-Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 mipsr6 mipsr6el mipsn32r6 mipsn32r6el
 Section: libdevel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), lib64gcc-6-dev (= ${gcc:Version}), lib64gfortran3 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -1541,7 +1541,7 @@ Description: Runtime library for GNU Fortran applications (64bit development fil
  GNU Fortran applications.
 
 Package: lib32gfortran-6-dev
-Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
 Section: libdevel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), lib32gcc-6-dev (= ${gcc:Version}), lib32gfortran3 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -1550,7 +1550,7 @@ Description: Runtime library for GNU Fortran applications (32bit development fil
  GNU Fortran applications.
 
 Package: libn32gfortran-6-dev
-Architecture: mips mipsel mips64 mips64el
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
 Section: libdevel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), libn32gcc-6-dev (= ${gcc:Version}), libn32gfortran3 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -1676,7 +1676,7 @@ Description: GNU Go compiler
  by the gcc compiler. It uses the gcc backend to generate optimized code.
 
 Package: gccgo-6-multilib
-Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32
+Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32
 Section: devel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), gccgo-6 (= ${gcc:Version}), gcc-6-multilib (= ${gcc:Version}), ${dep:libgobiarch}, ${shlibs:Depends}, ${misc:Depends}
@@ -1715,7 +1715,7 @@ Description: Runtime library for GNU Go applications (debug symbols)
 
 Package: lib64go9
 Section: libs
-Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 mipsr6 mipsr6el mipsn32r6 mipsn32r6el
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
 Replaces: lib64go3, lib64go8
@@ -1725,7 +1725,7 @@ Description: Runtime library for GNU Go applications (64bit)
 
 Package: lib64go9-dbg
 Section: debug
-Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 mipsr6 mipsr6el mipsn32r6 mipsn32r6el
 Priority: extra
 Depends: gcc-6-base (= ${gcc:Version}), lib64go9 (= ${gcc:Version}), ${misc:Depends}
 Description: Runtime library for GNU Go applications (64bit debug symbols)
@@ -1735,7 +1735,7 @@ Description: Runtime library for GNU Go applications (64bit debug symbols)
 
 Package: lib32go9
 Section: libs
-Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
 Conflicts: ${confl:lib32}
@@ -1746,7 +1746,7 @@ Description: Runtime library for GNU Go applications (32bit)
 
 Package: lib32go9-dbg
 Section: debug
-Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
 Priority: extra
 Depends: gcc-6-base (= ${gcc:Version}), lib32go9 (= ${gcc:Version}), ${misc:Depends}
 Description: Runtime library for GNU Go applications (32 bit debug symbols)
@@ -1756,7 +1756,7 @@ Description: Runtime library for GNU Go applications (32 bit debug symbols)
 
 Package: libn32go9
 Section: libs
-Architecture: mips mipsel mips64 mips64el
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
 Replaces: libn32go3, libn32go8
@@ -1766,7 +1766,7 @@ Description: Runtime library for GNU Go applications (n32)
 
 Package: libn32go9-dbg
 Section: debug
-Architecture: mips mipsel mips64 mips64el
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
 Priority: extra
 Depends: gcc-6-base (= ${gcc:Version}), libn32go9 (= ${gcc:Version}), ${misc:Depends}
 Description: Runtime library for GNU Go applications (n32 debug symbols)
@@ -2064,7 +2064,7 @@ Description: GNU Standard C++ Library v3 (debugging files)
  debugging symbols.
 
 Package: lib32stdc++-6-dev
-Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
 Section: libdevel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), lib32gcc-6-dev (= ${gcc:Version}),
@@ -2078,7 +2078,7 @@ Description: GNU Standard C++ Library v3 (development files)
  in g++-3.0.
 
 Package: lib32stdc++6-6-dbg
-Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
 Section: debug
 Priority: extra
 Depends: gcc-6-base (= ${gcc:Version}), lib32stdc++6 (>= ${gcc:Version}),
@@ -2094,7 +2094,7 @@ Description: GNU Standard C++ Library v3 (debugging files)
  debugging symbols.
 
 Package: lib64stdc++-6-dev
-Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 mipsr6 mipsr6el mipsn32r6 mipsn32r6el
 Section: libdevel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), lib64gcc-6-dev (= ${gcc:Version}),
@@ -2108,7 +2108,7 @@ Description: GNU Standard C++ Library v3 (development files)
  in g++-3.0.
 
 Package: lib64stdc++6-6-dbg
-Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 mipsr6 mipsr6el mipsn32r6 mipsn32r6el
 Section: debug
 Priority: extra
 Depends: gcc-6-base (= ${gcc:Version}), lib64stdc++6 (>= ${gcc:Version}),
@@ -2124,7 +2124,7 @@ Description: GNU Standard C++ Library v3 (debugging files)
  debugging symbols.
 
 Package: libn32stdc++-6-dev
-Architecture: mips mipsel mips64 mips64el
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
 Section: libdevel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), libn32gcc-6-dev (= ${gcc:Version}),
@@ -2138,7 +2138,7 @@ Description: GNU Standard C++ Library v3 (development files)
  in g++-3.0.
 
 Package: libn32stdc++6-6-dbg
-Architecture: mips mipsel mips64 mips64el
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
 Section: debug
 Priority: extra
 Depends: gcc-6-base (= ${gcc:Version}), libn32stdc++6 (>= ${gcc:Version}),
@@ -2438,7 +2438,7 @@ Description: Phobos D standard library
 # For more information check http://www.dlang.org/phobos/
 
 Package: lib64phobos-6-dev
-Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32 mipsr6 mipsr6el mipsn32r6 mipsn32r6el
 Section: libdevel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), lib64gcc-6-dev (= ${gcc:Version}), lib64z1-dev, ${shlibs:Depends}, ${misc:Depends}
@@ -2448,7 +2448,7 @@ Description: Phobos D standard library (64bit development files)
  For more information check http://www.dlang.org/phobos/
 
 Package: lib32phobos-6-dev
-Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
 Section: libdevel
 Priority: optional
 Depends: gcc-6-base (= ${gcc:Version}), lib32gcc-6-dev (= ${gcc:Version}), lib32z1-dev, ${shlibs:Depends}, ${misc:Depends}
diff --git a/debian/patches/gcc-multiarch.diff b/debian/patches/gcc-multiarch.diff
index a2e3434..2229dda 100644
--- a/debian/patches/gcc-multiarch.diff
+++ b/debian/patches/gcc-multiarch.diff
@@ -95,25 +95,46 @@ Index: b/src/gcc/config/mips/t-linux64
 ===================================================================
 --- a/src/gcc/config/mips/t-linux64
 +++ b/src/gcc/config/mips/t-linux64
-@@ -24,3 +24,13 @@ MULTILIB_OSDIRNAMES = \
+@@ -18,9 +18,22 @@
+ 
+ MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
+ MULTILIB_DIRNAMES = n32 32 64
++MIPS_R6 = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),r6)
++MIPS_32 = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),32)
++MIPS_ISA = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),isa)
+ MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
+ MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
+ MULTILIB_OSDIRNAMES = \
  	../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
  	../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
  	../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
 +
 +ifneq (,$(findstring abin32,$(target)))
-+MULTIARCH_DIRNAME = $(call if_multiarch,mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT))
++MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT))
 +else
 +ifneq (,$(findstring abi64,$(target)))
-+MULTIARCH_DIRNAME = $(call if_multiarch,mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
 +else
-+MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT))
++MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT))
 +endif
 +endif
 Index: b/src/gcc/config.gcc
 ===================================================================
 --- a/src/gcc/config.gcc
 +++ b/src/gcc/config.gcc
-@@ -2084,6 +2084,10 @@ mips*-*-linux*)				# Linux MIPS, either
+@@ -2074,6 +2074,11 @@ mips*-*-linux*)				# Linux MIPS, either
+ 			target_cpu_default=MASK_SOFT_FLOAT_ABI
+ 			enable_mips_multilibs="yes"
+ 			;;
++		mipsisa64r6*-*-linux-gnuabi64)
++			default_mips_abi=64
++			default_mips_arch=mips64r6
++			enable_mips_multilibs="yes"
++			;;
+ 		mipsisa64r6*-*-linux*)
+ 			default_mips_abi=n32
+ 			default_mips_arch=mips64r6
+@@ -2084,6 +2089,10 @@ mips*-*-linux*)				# Linux MIPS, either
  			default_mips_arch=mips64r2
  			enable_mips_multilibs="yes"
  			;;
@@ -124,7 +145,7 @@ Index: b/src/gcc/config.gcc
  		mips64*-*-linux* | mipsisa64*-*-linux*)
  			default_mips_abi=n32
  			enable_mips_multilibs="yes"
-@@ -4413,7 +4417,7 @@ case ${target} in
+@@ -4413,7 +4422,7 @@ case ${target} in
  	i[34567]86-*-darwin* | x86_64-*-darwin*)
  		;;
  	i[34567]86-*-linux* | x86_64-*-linux*)
diff --git a/debian/patches/gcc-multilib-multiarch.diff b/debian/patches/gcc-multilib-multiarch.diff
index 374f923..a26e69d 100644
--- a/debian/patches/gcc-multilib-multiarch.diff
+++ b/debian/patches/gcc-multilib-multiarch.diff
@@ -84,30 +84,33 @@ Index: b/src/gcc/config/mips/t-linux64
 ===================================================================
 --- a/src/gcc/config/mips/t-linux64
 +++ b/src/gcc/config/mips/t-linux64
-@@ -20,10 +20,23 @@ MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi
- MULTILIB_DIRNAMES = n32 32 64
+@@ -23,10 +23,23 @@ MIPS_32 = $(if $(findstring r6, $(firstw
+ MIPS_ISA = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),isa)
  MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
  MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
 +
 +ifneq (,$(findstring gnuabi64,$(target)))
 +MULTILIB_OSDIRNAMES = \
-+	../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
-+	../libo32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
-+	../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++        ../lib32$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
++        ../libo32$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
++        ../lib$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
 +else ifneq (,$(findstring gnuabin32,$(target)))
 +MULTILIB_OSDIRNAMES = \
-+	../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
-+	../libo32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
-+	../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++        ../lib$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
++        ../libo32$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
++        ../lib64$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
 +else
  MULTILIB_OSDIRNAMES = \
- 	../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
- 	../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
- 	../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
+-	../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
+-	../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
+-	../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++        ../lib32$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
++        ../lib$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
++        ../lib64$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
 +endif
  
  ifneq (,$(findstring abin32,$(target)))
- MULTIARCH_DIRNAME = $(call if_multiarch,mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT))
+ MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT))
 Index: b/src/gcc/config/rs6000/t-linux
 ===================================================================
 --- a/src/gcc/config/rs6000/t-linux
diff --git a/debian/rules.conf b/debian/rules.conf
index 3f6cee4..7bf86fb 100644
--- a/debian/rules.conf
+++ b/debian/rules.conf
@@ -307,7 +307,7 @@ ifneq (,$(findstring yes,$(biarch64) $(biarch32) $(biarchn32) $(biarchx32)$(biar
   endif
   endif
   # mips*
-  ifneq (,$(findstring $(DEB_TARGET_ARCH),mips mipsel mipsn32 mipsn32el mips64 mips64el))
+  ifneq (,$(findstring mips,$(DEB_TARGET_ARCH)))
   ifeq ($(biarchn32)$(biarch32),yesyes)
       LIBC_BIARCH_DEV_DEP := libc6-dev-mips32$(LS)$(AQ) (>= $(libc_ver)), libc6-dev-mipsn32$(LS)$(AQ) (>= $(libc_ver))
   endif
@@ -347,7 +347,7 @@ ifneq ($(DEB_CROSS),yes)
   ifeq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick natty oneiric))
     LIBC_BUILD_DEP += , libc6-dev (>= 2.13-31) [armel armhf]
   endif
-  LIBC_BIARCH_BUILD_DEP = libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el s390x sparc64 x32], libn32gcc1 [mips mipsel mips64 mips64el], lib64gcc1 [i386 mips mipsel mipsn32 mipsn32el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el],
+  LIBC_BIARCH_BUILD_DEP = libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el s390x sparc64 x32], libn32gcc1 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], lib64gcc1 [i386 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el],
   ifneq (,$(findstring amd64,$(biarchx32archs)))
   LIBC_BIARCH_BUILD_DEP += libc6-dev-x32 [amd64 i386], libx32gcc1 [amd64 i386],
 endif
diff --git a/debian/rules.defs b/debian/rules.defs
index 5853f09..8646656 100644
--- a/debian/rules.defs
+++ b/debian/rules.defs
@@ -451,6 +451,12 @@ multiarch_xarch_map = \
 	mipsn32el=mipsel-linux-gnu,mips64el-linux-gnuabi64 \
 	mips64=mips-linux-gnu,mips64-linux-gnuabin32 \
 	mips64el=mipsel-linux-gnu,mips64el-linux-gnuabin32 \
+	mipsr6=mipsisa64r6-linux-gnuabin32,mipsisa64r6-linux-gnuabi64 \
+	mipsr6el=mipsisa64r6el-linux-gnuabin32,mipsisa64r6el-linux-gnuabi64 \
+	mipsn32r6=mipsisa32r6-linux-gnu,mipsisa64r6-linux-gnuabi64 \
+	mipsn32r6el=mipsisa32r6el-linux-gnu,mipsisa64r6el-linux-gnuabi64 \
+	mips64r6=mipsisa32r6-linux-gnu,mipsisa64r6-linux-gnuabin32 \
+	mips64r6el=mipsisa32r6el-linux-gnu,mipsisa64r6el-linux-gnuabin32 \
 	x32=x86_64-linux-gnu,i386-linux-gnu \
 	kfreebsd-amd64=i386-kfreebsd-gnu
 xarch_multiarch_names = $(subst $(COMMA),$(SPACE),$(patsubst $(DEB_TARGET_ARCH)=%,%, \
@@ -482,6 +488,18 @@ multilib_multiarch_map = \
 	mips64/n32=mips64-linux-gnuabin32 \
 	mips64el/32=mipsel-linux-gnu \
 	mips64el/n32=mips64el-linux-gnuabin32 \
+	mipsr6/n32=mipsisa64r6-linux-gnuabin32 \
+	mipsr6/64=mipsisa64r6-linux-gnuabi64 \
+	mipsr6el/n32=mipsisa64r6el-linux-gnuabin32 \
+	mipsr6el/64=mipsisa64r6el-linux-gnuabi64 \
+	mipsn32r6/32=mipsisa32r6-linux-gnu \
+	mipsn32r6/64=mipsisa64r6-linux-gnuabi64 \
+	mipsn32r6el/32=mipsisa32r6el-linux-gnu \
+	mipsn32r6el/64=mipsisa64r6el-linux-gnuabi64 \
+	mips64r6/32=mipsisa32r6-linux-gnu \
+	mips64r6/n32=mipsisa64r6-linux-gnuabin32 \
+	mips64r6el/32=mipsisa32r6el-linux-gnu \
+	mips64r6el/n32=mipsisa64r6el-linux-gnuabin32 \
 	x32/32=i386-linux-gnu \
 	x32/64=x86_64-linux-gnu \
 	kfreebsd-amd64/32=i386-kfreebsd-gnu
@@ -804,6 +822,7 @@ ifeq ($(with_java),yes)
   java_cpu_map = armel=arm armhf=arm arm64=aarch64 hppa=parisc \
 	i686=i386 i586=i386 i486=i386 x32=x32 \
 	mipsel=mips mips64=mips mips64el=mips mipsn32=mips mipsn32el=mips \
+	mipsr6=mips mipsr6el=mips mips64r6=mips mips64r6el=mips mipsn32r6=mips mipsn32r6el=mips \
 	powerpc=ppc ppc64el=ppc64le sh4=sh x32=x32
   java_cpu = $(patsubst $(DEB_TARGET_ARCH_CPU)=%,%, \
                          $(filter $(DEB_TARGET_ARCH_CPU)=%,$(java_cpu_map)))
@@ -975,6 +994,7 @@ ifeq ($(with_d),yes)
 
   libphobos_no_cpus := alpha avr arm64 hppa ia64 m68k \
 	mips mipsel mips64 mips64el mipsn32 mipsn32el \
+	mipsr6 mipsr6el mips64r6 mips64r6el mipsn32r6 mipsn32r6el \
 	powerpc powerpcspe ppc64 s390 s390x sh4 sparc sparc64
   libphobos_no_systems := gnu kfreebsd-gnu
   ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(libphobos_no_cpus)))
@@ -1493,8 +1513,9 @@ export debian_extra_langs
 
 # multilib
 biarch_map := i686=x86_64 powerpc=powerpc64 sparc=sparc64 sparc64=sparc s390=s390x s390x=s390 \
-		x86_64=i686 powerpc64=powerpc mips=mips64 mipsel=mips64el \
-		mips64=mips mips64el=mipsel mipsn32=mips mipsn32el=mipsel
+		x86_64=i686 powerpc64=powerpc \
+		mips=mips64 mipsel=mips64el mips64=mips mips64el=mipsel mipsn32=mips mipsn32el=mipsel \
+		mipsr6=mips64r6 mipsr6el=mips64r6el mips64r6=mipsr6 mips64r6el=mipsr6el mipsn32r6=mipsr6 mipsn32r6el=mipsr6el
 ifneq (,$(filter $(derivative),Ubuntu))
   ifeq (,$(filter $(distrelease),dapper hardy jaunty karmic lucid))
     biarch_map := $(subst i686=,i486=,$(biarch_map))
@@ -1641,9 +1662,9 @@ define gen_biarch
     export TARGET64_MACHINE
   endif
 endef
-biarch32archs := /amd64/ppc64/kfreebsd-amd64/s390x/sparc64/x32/mipsn32/mipsn32el/mips64/mips64el/
-biarch64archs := /i386/powerpc/sparc/s390/mips/mipsel/mipsn32/mipsn32el/x32/
-biarchn32archs := /mips/mipsel/mips64/mips64el/
+biarch32archs := /amd64/ppc64/kfreebsd-amd64/s390x/sparc64/x32/mipsn32/mipsn32el/mips64/mips64el/mipsn32r6/mipsn32r6el/mips64r6/mips64r6el/
+biarch64archs := /i386/powerpc/sparc/s390/mips/mipsel/mipsn32/mipsn32el/x32/mipsr6/mipsr6el/mipsn32r6/mipsn32r6el/
+biarchn32archs := /mips/mipsel/mips64/mips64el/mipsr6/mipsr6el/mips64r6/mips64r6el/
 ifeq ($(derivative),Ubuntu)
   ifeq (,$(filter $(distrelease),dapper hardy jaunty karmic lucid maverick natty))
     biarchhfarchs := /armel/
diff --git a/debian/rules2 b/debian/rules2
index e8d0339..7b95ace 100644
--- a/debian/rules2
+++ b/debian/rules2
@@ -684,6 +684,71 @@ ifneq (,$(findstring mips64-linux-gnuabi64,$(DEB_TARGET_GNU_TYPE)))
   endif
 endif
 
+ifneq (,$(findstring mipsisa32r6-linux,$(DEB_TARGET_GNU_TYPE)))
+  CONFARGS += --with-arch-32=mips32r6 --with-tune-32=mips32r6
+  ifeq ($(multilib),yes)
+    ifeq ($(biarchn32)-$(biarch64),yes-yes)
+      CONFARGS += --enable-targets=all
+      CONFARGS += --with-arch-64=mips64r6 --with-tune-64=mips64r6
+    endif
+  endif
+endif
+
+ifneq (,$(findstring mipsisa32r6el-linux,$(DEB_TARGET_GNU_TYPE)))
+  CONFARGS += --with-arch-32=mips32r6 --with-tune-32=mips32r6
+  ifeq ($(multilib),yes)
+    ifeq ($(biarchn32)-$(biarch64),yes-yes)
+      CONFARGS += --enable-targets=all
+      CONFARGS += --with-arch-64=mips64r6 --with-tune-64=mips64r6
+    endif
+  endif
+endif
+
+#FIXME: howto for mipsn32?
+ifneq (,$(findstring mipsisa64r6el-linux-gnuabin32,$(DEB_TARGET_GNU_TYPE)))
+  CONFARGS += --with-mips-plt
+  ifeq ($(multilib),yes)
+    ifeq ($(biarch64)-$(biarch32),yes-yes)
+      CONFARGS += --enable-targets=all
+      CONFARGS += --with-arch-64=mips64r6
+      CONFARGS += --with-arch-32=mips32r6
+    endif
+  endif
+endif
+
+ifneq (,$(findstring mipsisa64r6-linux-gnuabin32,$(DEB_TARGET_GNU_TYPE)))
+  CONFARGS += --with-mips-plt
+  ifeq ($(multilib),yes)
+    ifeq ($(biarch64)-$(biarch32),yes-yes)
+      CONFARGS += --enable-targets=all
+      CONFARGS += --with-arch-64=mips64r6
+      CONFARGS += --with-arch-32=mips32r6
+    endif
+  endif
+endif
+
+ifneq (,$(findstring mipsisa64r6el-linux-gnuabi64,$(DEB_TARGET_GNU_TYPE)))
+  CONFARGS += --with-mips-plt
+  CONFARGS += --with-arch-64=mips64r6 --with-tune-64=mips64r6
+  ifeq ($(multilib),yes)
+    ifeq ($(biarchn32)-$(biarch32),yes-yes)
+      CONFARGS += --enable-targets=all
+      CONFARGS += --with-arch-32=mips32r6 --with-tune-32=mips32r6
+    endif
+  endif
+endif
+
+ifneq (,$(findstring mipsisa64r6-linux-gnuabi64,$(DEB_TARGET_GNU_TYPE)))
+  CONFARGS += --with-mips-plt
+  CONFARGS += --with-arch-64=mips64r6 --with-tune-64=mips64r6
+  ifeq ($(multilib),yes)
+    ifeq ($(biarchn32)-$(biarch32),yes-yes)
+      CONFARGS += --enable-targets=all
+      CONFARGS += --with-arch-32=mips32r6 --with-tune-32=mips32r6
+    endif
+  endif
+endif
+
 ifneq (,$(findstring mips,$(DEB_TARGET_GNU_TYPE)))
   ifeq (,$(filter yes,$(biarch32) $(biarchn32) $(biarch64)))
       CONFARGS += --disable-multilib
@@ -1044,7 +1109,11 @@ ifeq ($(biarchn32)-$(biarch64),yes-yes)
 else ifeq ($(biarchn32)-$(biarch32),yes-yes)
 	@echo "Will build the triarch compilers (o32/n32/64, defaulting to 64)"
 else ifeq ($(biarch64)-$(biarch32),yes-yes)
+  ifneq (,$(findstring mips,$(DEB_TARGET_GNU_TYPE)))
+	@echo "Will build the triarch compilers (n32/64/32, defaulting to n32)"
+  else 
 	@echo "Will build the triarch compilers (x32/64/32, defaulting to x32)"
+  endif
 else ifeq ($(biarch64)-$(biarchx32),yes-yes)
 	@echo "Will build the triarch compilers (32/64/x32, defaulting to 32bit)"
 else ifeq ($(biarch32)-$(biarchx32),yes-yes)

Reply to: