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). -- YunQiang Su
diff --git a/debian/control b/debian/control index 5b96485..433aefa 100644 --- a/debian/control +++ b/debian/control @@ -5,8 +5,8 @@ Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> Uploaders: Matthias Klose <d...@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} @@ -367,7 +367,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} @@ -404,7 +404,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} @@ -711,7 +711,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} @@ -721,7 +721,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) @@ -729,7 +729,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} @@ -1112,7 +1112,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} @@ -1124,7 +1124,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} @@ -1136,7 +1136,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) @@ -1147,7 +1147,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} @@ -1329,7 +1329,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} @@ -1352,7 +1352,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} @@ -1374,7 +1374,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} @@ -1383,7 +1383,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} @@ -1392,7 +1392,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} @@ -1507,7 +1507,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} @@ -1529,7 +1529,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} @@ -1538,7 +1538,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} @@ -1547,7 +1547,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} @@ -1673,7 +1673,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} @@ -1712,7 +1712,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 @@ -1722,7 +1722,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) @@ -1732,7 +1732,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} @@ -1743,7 +1743,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) @@ -1753,7 +1753,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 @@ -1763,7 +1763,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) @@ -2061,7 +2061,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}), @@ -2075,7 +2075,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}), @@ -2091,7 +2091,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}), @@ -2105,7 +2105,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}), @@ -2121,7 +2121,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}), @@ -2135,7 +2135,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}), @@ -2435,7 +2435,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} @@ -2445,7 +2445,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 7e34ff6..1242b0d 100644 --- a/debian/patches/gcc-multiarch.diff +++ b/debian/patches/gcc-multiarch.diff @@ -15,8 +15,6 @@ * config/sparc/t-linux64: Set MULTIARCH_DIRNAME. * src/gcc/config/mips/mips.h: (/usr)/lib as default path. -Index: b/src/gcc/config/sh/t-linux -=================================================================== --- a/src/gcc/config/sh/t-linux +++ b/src/gcc/config/sh/t-linux @@ -1,2 +1,5 @@ @@ -25,31 +23,25 @@ Index: b/src/gcc/config/sh/t-linux + +MULTILIB_OSDIRNAMES = .:sh4-linux-gnu sh4_nofpu-linux-gnu:sh4-linux-gnu +MULTIARCH_DIRNAME = $(call if_multiarch,sh4-linux-gnu) -Index: b/src/gcc/config/sparc/t-linux64 -=================================================================== --- a/src/gcc/config/sparc/t-linux64 +++ b/src/gcc/config/sparc/t-linux64 -@@ -27,3 +27,5 @@ MULTILIB_OPTIONS = m64/m32 +@@ -27,3 +27,5 @@ MULTILIB_DIRNAMES = 64 32 MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu) MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu) + +MULTIARCH_DIRNAME = $(call if_multiarch,sparc$(if $(findstring 64,$(target)),64)-linux-gnu) -Index: b/src/gcc/config/s390/t-linux64 -=================================================================== --- a/src/gcc/config/s390/t-linux64 +++ b/src/gcc/config/s390/t-linux64 -@@ -9,3 +9,5 @@ MULTILIB_OPTIONS = m64/m31 +@@ -9,3 +9,5 @@ MULTILIB_DIRNAMES = 64 32 MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu) MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu) + +MULTIARCH_DIRNAME = $(call if_multiarch,s390$(if $(findstring s390x,$(target)),x)-linux-gnu) -Index: b/src/gcc/config/rs6000/t-linux64 -=================================================================== --- a/src/gcc/config/rs6000/t-linux64 +++ b/src/gcc/config/rs6000/t-linux64 -@@ -31,6 +31,8 @@ MULTILIB_EXTRA_OPTS := +@@ -31,6 +31,8 @@ MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu) MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu) @@ -58,11 +50,9 @@ Index: b/src/gcc/config/rs6000/t-linux64 rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c $(COMPILE) $< $(POSTCOMPILE) -Index: b/src/gcc/config/i386/t-linux64 -=================================================================== --- a/src/gcc/config/i386/t-linux64 +++ b/src/gcc/config/i386/t-linux64 -@@ -36,3 +36,13 @@ MULTILIB_DIRNAMES = $(patsubst m%, %, +@@ -36,3 +36,13 @@ MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu) MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu) MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) @@ -76,8 +66,6 @@ Index: b/src/gcc/config/i386/t-linux64 +else + MULTIARCH_DIRNAME = $(call if_multiarch,i386-linux-gnu) +endif -Index: b/src/gcc/config/i386/t-kfreebsd -=================================================================== --- a/src/gcc/config/i386/t-kfreebsd +++ b/src/gcc/config/i386/t-kfreebsd @@ -1,5 +1,9 @@ @@ -91,29 +79,57 @@ Index: b/src/gcc/config/i386/t-kfreebsd MULTILIB_OSDIRNAMES := $(filter-out mx32=%,$(subst linux,$(KFREEBSD_OS),$(MULTILIB_OSDIRNAMES))) + +MULTIARCH_DIRNAME := $(subst linux,$(KFREEBSD_OS),$(MULTIARCH_DIRNAME)) -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 = \ - ../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)) +@@ -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)) ++ ../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)) + +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 -@@ -2086,6 +2086,10 @@ mips*-*-linux*) # Linux MIPS, either +@@ -2057,6 +2057,7 @@ + case ${target} in + mipsisa32r6*) + default_mips_arch=mips32r6 ++ enable_mips_multilibs="yes" + ;; + mipsisa32r2*) + default_mips_arch=mips32r2 +@@ -2076,6 +2077,11 @@ + 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 +@@ -2086,6 +2092,10 @@ default_mips_arch=mips64r2 enable_mips_multilibs="yes" ;; @@ -124,7 +140,7 @@ Index: b/src/gcc/config.gcc mips64*-*-linux* | mipsisa64*-*-linux*) default_mips_abi=n32 enable_mips_multilibs="yes" -@@ -4415,7 +4419,7 @@ case ${target} in +@@ -4415,7 +4425,7 @@ i[34567]86-*-darwin* | x86_64-*-darwin*) ;; i[34567]86-*-linux* | x86_64-*-linux*) @@ -133,11 +149,9 @@ Index: b/src/gcc/config.gcc ;; i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu) tmake_file="$tmake_file i386/t-kfreebsd" -Index: b/src/gcc/config/aarch64/t-aarch64-linux -=================================================================== --- a/src/gcc/config/aarch64/t-aarch64-linux +++ b/src/gcc/config/aarch64/t-aarch64-linux -@@ -22,7 +22,7 @@ LIB1ASMSRC = aarch64/lib1funcs.asm +@@ -22,7 +22,7 @@ LIB1ASMFUNCS = _aarch64_sync_cache_range AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be) @@ -148,11 +162,9 @@ Index: b/src/gcc/config/aarch64/t-aarch64-linux -MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32 +MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) -Index: b/src/gcc/config/mips/mips.h -=================================================================== --- a/src/gcc/config/mips/mips.h +++ b/src/gcc/config/mips/mips.h -@@ -3375,16 +3375,6 @@ struct GTY(()) machine_function { +@@ -3375,16 +3375,6 @@ #define PMODE_INSN(NAME, ARGS) \ (Pmode == SImode ? NAME ## _si ARGS : NAME ## _di ARGS) diff --git a/debian/patches/gcc-multilib-multiarch.diff b/debian/patches/gcc-multilib-multiarch.diff index 374f923..81b675a 100644 --- a/debian/patches/gcc-multilib-multiarch.diff +++ b/debian/patches/gcc-multilib-multiarch.diff @@ -1,7 +1,5 @@ # DP: Don't auto-detect multilib osdirnames. -Index: b/src/gcc/config/sparc/t-linux64 -=================================================================== --- a/src/gcc/config/sparc/t-linux64 +++ b/src/gcc/config/sparc/t-linux64 @@ -25,7 +25,12 @@ @@ -18,8 +16,6 @@ Index: b/src/gcc/config/sparc/t-linux64 +endif MULTIARCH_DIRNAME = $(call if_multiarch,sparc$(if $(findstring 64,$(target)),64)-linux-gnu) -Index: b/src/gcc/config/s390/t-linux64 -=================================================================== --- a/src/gcc/config/s390/t-linux64 +++ b/src/gcc/config/s390/t-linux64 @@ -7,7 +7,12 @@ @@ -36,8 +32,6 @@ Index: b/src/gcc/config/s390/t-linux64 +endif MULTIARCH_DIRNAME = $(call if_multiarch,s390$(if $(findstring s390x,$(target)),x)-linux-gnu) -Index: b/src/gcc/config/rs6000/t-linux64 -=================================================================== --- a/src/gcc/config/rs6000/t-linux64 +++ b/src/gcc/config/rs6000/t-linux64 @@ -28,8 +28,13 @@ @@ -55,8 +49,6 @@ Index: b/src/gcc/config/rs6000/t-linux64 MULTIARCH_DIRNAME = $(call if_multiarch,powerpc$(if $(findstring 64,$(target)),64)-linux-gnu) -Index: b/src/gcc/config/i386/t-linux64 -=================================================================== --- a/src/gcc/config/i386/t-linux64 +++ b/src/gcc/config/i386/t-linux64 @@ -33,9 +33,19 @@ @@ -80,36 +72,32 @@ Index: b/src/gcc/config/i386/t-linux64 ifneq (,$(findstring x86_64,$(target))) ifneq (,$(findstring biarchx32.h,$(tm_include_list))) -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_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,: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)) -Index: b/src/gcc/config/rs6000/t-linux -=================================================================== + MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) --- a/src/gcc/config/rs6000/t-linux +++ b/src/gcc/config/rs6000/t-linux @@ -2,7 +2,7 @@ diff --git a/debian/rules.conf b/debian/rules.conf index e51adcb..28fc774 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 161a4cb..828e8da 100644 --- a/debian/rules.defs +++ b/debian/rules.defs @@ -453,6 +453,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)=%,%, \ @@ -484,6 +490,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 @@ -806,6 +824,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))) @@ -977,6 +996,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))) @@ -1495,8 +1515,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)) @@ -1643,9 +1664,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 3961aac..9f4ea4a 100644 --- a/debian/rules2 +++ b/debian/rules2 @@ -641,20 +641,20 @@ endif #FIXME: howto for mipsn32? ifneq (,$(findstring mips64el-linux-gnuabin32,$(DEB_TARGET_GNU_TYPE))) ifeq ($(multilib),yes) - ifeq ($(biarchn32)-$(biarch32),yes-yes) + ifeq ($(biarch64)-$(biarch32),yes-yes) CONFARGS += --enable-targets=all - CONFARGS += --with-arch-64=mips3 --with-tune-64=mips64 - CONFARGS += --with-arch-32=mips2 --with-tune-32=mips32 --with-fp-32=xx + CONFARGS += --with-arch-64=mips64r2 + CONFARGS += --with-arch-32=mips32r2 --with-fp-32=xx endif endif endif ifneq (,$(findstring mips64-linux-gnuabin32,$(DEB_TARGET_GNU_TYPE))) ifeq ($(multilib),yes) - ifeq ($(biarchn32)-$(biarch32),yes-yes) + ifeq ($(biarch64)-$(biarch32),yes-yes) CONFARGS += --enable-targets=all - CONFARGS += --with-arch-64=mips3 --with-tune-64=mips64 - CONFARGS += --with-arch-32=mips2 --with-tune-32=mips32 --with-fp-32=xx + CONFARGS += --with-arch-64=mips64r2 + CONFARGS += --with-arch-32=mips32r2 --with-fp-32=xx endif endif endif @@ -681,6 +681,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 @@ -1041,7 +1106,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)