Package: src:gcc-5 Version: 5.3.1-19 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 b1f9439..d076028 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, gcc-6-base, libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], @@ -76,7 +76,7 @@ Description: GCC support library (debug symbols) Debug symbols for the GCC support library. Package: lib64gcc-5-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} @@ -92,7 +92,7 @@ Description: GCC support library (64bit development files) building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. Package: lib32gcc-5-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} @@ -108,7 +108,7 @@ Description: GCC support library (32 bit development files) building C programs which use libgcc, libgomp, libquadmath, libssp or libitm. Package: libn32gcc-5-dev -Architecture: mips mipsel mips64 mips64el +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el Section: libdevel Priority: optional Recommends: ${dep:libcdev} @@ -168,7 +168,7 @@ Description: GNU C compiler This is the GNU C compiler, a fairly portable optimizing compiler for C. Package: gcc-5-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-5-base (= ${gcc:Version}), gcc-5 (= ${gcc:Version}), ${dep:libcbiarchdev}, ${dep:libgccbiarchdev}, ${shlibs:Depends}, ${misc:Depends} @@ -247,7 +247,7 @@ Description: GNU C++ compiler This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. Package: g++-5-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-5-base (= ${gcc:Version}), g++-5 (= ${gcc:Version}), gcc-5-multilib (= ${gcc:Version}), ${dep:libcxxbiarchdev}, ${shlibs:Depends}, ${misc:Depends} @@ -283,7 +283,7 @@ Description: AddressSanitizer -- a fast memory error detector (debug symbols) Package: lib32asan2 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-5-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} Conflicts: ${confl:lib32} @@ -292,7 +292,7 @@ Description: AddressSanitizer -- a fast memory error detector (32bit) use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. Package: lib32asan2-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-5-base (= ${gcc:Version}), lib32asan2 (= ${gcc:Version}), ${misc:Depends} @@ -302,7 +302,7 @@ Description: AddressSanitizer -- a fast memory error detector (32 bit debug symb Package: lib64asan2 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-5-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} Description: AddressSanitizer -- a fast memory error detector (64bit) @@ -310,7 +310,7 @@ Description: AddressSanitizer -- a fast memory error detector (64bit) use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs. Package: lib64asan2-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-5-base (= ${gcc:Version}), lib64asan2 (= ${gcc:Version}), ${misc:Depends} @@ -385,7 +385,7 @@ Description: Intel memory protection extensions (debug symbols) Package: lib32mpx0 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-5-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} Conflicts: ${confl:lib32} @@ -396,7 +396,7 @@ Description: Intel memory protection extensions (32bit) intentions are usurped at runtime due to buffer overflow. Package: lib32mpx0-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-5-base (= ${gcc:Version}), lib32mpx0 (= ${gcc:Version}), ${misc:Depends} @@ -408,7 +408,7 @@ Description: Intel memory protection extensions (32 bit debug symbols) Package: lib64mpx0 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-5-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} Description: Intel memory protection extensions (64bit) @@ -418,7 +418,7 @@ Description: Intel memory protection extensions (64bit) intentions are usurped at runtime due to buffer overflow. Package: lib64mpx0-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-5-base (= ${gcc:Version}), lib64mpx0 (= ${gcc:Version}), ${misc:Depends} @@ -462,7 +462,7 @@ Description: GNU Objective-C++ compiler gcc backend to generate optimized code. Package: gobjc++-5-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-5-base (= ${gcc:Version}), gobjc++-5 (= ${gcc:Version}), g++-5-multilib (= ${gcc:Version}), gobjc-5-multilib (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} @@ -485,7 +485,7 @@ Description: GNU Objective-C compiler gcc backend to generate optimized code. Package: gobjc-5-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-5-base (= ${gcc:Version}), gobjc-5 (= ${gcc:Version}), gcc-5-multilib (= ${gcc:Version}), ${dep:libobjcbiarchdev}, ${shlibs:Depends}, ${misc:Depends} @@ -507,7 +507,7 @@ Description: Runtime library for GNU Objective-C applications (development files GNU ObjC applications. Package: lib64objc-5-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-5-base (= ${gcc:Version}), lib64gcc-5-dev (= ${gcc:Version}), lib64objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} @@ -516,7 +516,7 @@ Description: Runtime library for GNU Objective-C applications (64bit development GNU ObjC applications. Package: lib32objc-5-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-5-base (= ${gcc:Version}), lib32gcc-5-dev (= ${gcc:Version}), lib32objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} @@ -525,7 +525,7 @@ Description: Runtime library for GNU Objective-C applications (32bit development GNU ObjC applications. Package: libn32objc-5-dev -Architecture: mips mipsel mips64 mips64el +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el Section: libdevel Priority: optional Depends: gcc-5-base (= ${gcc:Version}), libn32gcc-5-dev (= ${gcc:Version}), libn32objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} @@ -554,7 +554,7 @@ Description: GNU Fortran compiler gcc backend to generate optimized code. Package: gfortran-5-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-5-base (= ${gcc:Version}), gfortran-5 (= ${gcc:Version}), gcc-5-multilib (= ${gcc:Version}), ${dep:libgfortranbiarchdev}, ${shlibs:Depends}, ${misc:Depends} @@ -576,7 +576,7 @@ Description: Runtime library for GNU Fortran applications (development files) GNU Fortran applications. Package: lib64gfortran-5-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-5-base (= ${gcc:Version}), lib64gcc-5-dev (= ${gcc:Version}), lib64gfortran3 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} @@ -585,7 +585,7 @@ Description: Runtime library for GNU Fortran applications (64bit development fil GNU Fortran applications. Package: lib32gfortran-5-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-5-base (= ${gcc:Version}), lib32gcc-5-dev (= ${gcc:Version}), lib32gfortran3 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} @@ -594,7 +594,7 @@ Description: Runtime library for GNU Fortran applications (32bit development fil GNU Fortran applications. Package: libn32gfortran-5-dev -Architecture: mips mipsel mips64 mips64el +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el Section: libdevel Priority: optional Depends: gcc-5-base (= ${gcc:Version}), libn32gcc-5-dev (= ${gcc:Version}), libn32gfortran3 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} @@ -623,7 +623,7 @@ Description: GNU Go compiler by the gcc compiler. It uses the gcc backend to generate optimized code. Package: gccgo-5-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-5-base (= ${gcc:Version}), gccgo-5 (= ${gcc:Version}), gcc-5-multilib (= ${gcc:Version}), ${dep:libgobiarch}, ${shlibs:Depends}, ${misc:Depends} @@ -662,7 +662,7 @@ Description: Runtime library for GNU Go applications (debug symbols) Package: lib64go7 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-5-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} Replaces: lib64go3 @@ -672,7 +672,7 @@ Description: Runtime library for GNU Go applications (64bit) Package: lib64go7-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-5-base (= ${gcc:Version}), lib64go7 (= ${gcc:Version}), ${misc:Depends} Description: Runtime library for GNU Go applications (64bit debug symbols) @@ -682,7 +682,7 @@ Description: Runtime library for GNU Go applications (64bit debug symbols) Package: lib32go7 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-5-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} Conflicts: ${confl:lib32} @@ -693,7 +693,7 @@ Description: Runtime library for GNU Go applications (32bit) Package: lib32go7-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-5-base (= ${gcc:Version}), lib32go7 (= ${gcc:Version}), ${misc:Depends} Description: Runtime library for GNU Go applications (32 bit debug symbols) @@ -703,7 +703,7 @@ Description: Runtime library for GNU Go applications (32 bit debug symbols) Package: libn32go7 Section: libs -Architecture: mips mipsel mips64 mips64el +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el Priority: optional Depends: gcc-5-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} Replaces: libn32go3 @@ -713,7 +713,7 @@ Description: Runtime library for GNU Go applications (n32) Package: libn32go7-dbg Section: debug -Architecture: mips mipsel mips64 mips64el +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el Priority: extra Depends: gcc-5-base (= ${gcc:Version}), libn32go7 (= ${gcc:Version}), ${misc:Depends} Description: Runtime library for GNU Go applications (n32 debug symbols) @@ -943,7 +943,7 @@ Description: GNU Standard C++ Library v3 (debugging files) debugging symbols. Package: lib32stdc++-5-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-5-base (= ${gcc:Version}), lib32gcc-5-dev (= ${gcc:Version}), @@ -957,7 +957,7 @@ Description: GNU Standard C++ Library v3 (development files) in g++-3.0. Package: lib32stdc++6-5-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-5-base (= ${gcc:Version}), lib32stdc++6 (>= ${gcc:Version}), @@ -972,7 +972,7 @@ Description: GNU Standard C++ Library v3 (debugging files) debugging symbols. Package: lib64stdc++-5-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-5-base (= ${gcc:Version}), lib64gcc-5-dev (= ${gcc:Version}), @@ -986,7 +986,7 @@ Description: GNU Standard C++ Library v3 (development files) in g++-3.0. Package: lib64stdc++6-5-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-5-base (= ${gcc:Version}), lib64stdc++6 (>= ${gcc:Version}), @@ -1001,7 +1001,7 @@ Description: GNU Standard C++ Library v3 (debugging files) debugging symbols. Package: libn32stdc++-5-dev -Architecture: mips mipsel mips64 mips64el +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el Section: libdevel Priority: optional Depends: gcc-5-base (= ${gcc:Version}), libn32gcc-5-dev (= ${gcc:Version}), @@ -1015,7 +1015,7 @@ Description: GNU Standard C++ Library v3 (development files) in g++-3.0. Package: libn32stdc++6-5-dbg -Architecture: mips mipsel mips64 mips64el +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el Section: debug Priority: extra Depends: gcc-5-base (= ${gcc:Version}), libn32stdc++6 (>= ${gcc:Version}), @@ -1311,7 +1311,7 @@ Description: Phobos D standard library # For more information check http://www.dlang.org/phobos/ Package: lib64phobos-5-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-5-base (= ${gcc:Version}), lib64gcc-5-dev (= ${gcc:Version}), lib64z1-dev, ${shlibs:Depends}, ${misc:Depends} @@ -1321,7 +1321,7 @@ Description: Phobos D standard library (64bit development files) For more information check http://www.dlang.org/phobos/ Package: lib32phobos-5-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-5-base (= ${gcc:Version}), lib32gcc-5-dev (= ${gcc:Version}), lib32z1-dev, ${shlibs:Depends}, ${misc:Depends} diff --git a/debian/patches/gcc-multiarch.diff b/debian/patches/gcc-multiarch.diff index 663f763..69cda12 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 -@@ -2038,6 +2038,10 @@ mips*-*-linux*) # Linux MIPS, either +@@ -2009,6 +2009,7 @@ + case ${target} in + mipsisa32r6*) + default_mips_arch=mips32r6 ++ enable_mips_multilibs="yes" + ;; + mipsisa32r2*) + default_mips_arch=mips32r2 +@@ -2028,6 +2029,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 +@@ -2038,6 +2044,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" -@@ -4247,7 +4251,7 @@ case ${target} in +@@ -4247,7 +4257,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 -@@ -3185,13 +3185,3 @@ extern GTY(()) struct target_globals *mi +@@ -3185,13 +3185,3 @@ with arguments ARGS. */ #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..d2e68ad 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,35 @@ 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,11 +23,24 @@ + 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)) + MULTILIB_OSDIRNAMES = \ + ../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)) \ ++ ../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)) ++MULTILIB_OSDIRNAMES = \ ++ ../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)) + else --- 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 6c71cb4..e8efe4c 100644 --- a/debian/rules.conf +++ b/debian/rules.conf @@ -305,7 +305,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 @@ -345,7 +345,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 47a067d..88b963b 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 @@ -795,6 +813,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))) @@ -960,6 +979,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))) @@ -1484,8 +1504,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)) @@ -1632,9 +1653,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 c833ec5..669386d 100644 --- a/debian/rules2 +++ b/debian/rules2 @@ -637,20 +637,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 @@ -677,6 +677,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 @@ -1037,7 +1102,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)