As in dpkg, mips32r6(el) has been renamed to mipsr6(el),
I updated this patch.

On Tue, Mar 8, 2016 at 9:22 PM, YunQiang Su <wzss...@gmail.com> wrote:
> On Tue, 8 Dec 2015 15:15:03 +0800 YunQiang Su <wzss...@gmail.com> wrote:
>> Package: src:binutils
>> Version: 2.25.90.20151125-2
>> Control: block -1 by 807340
>>
>> This patch enable building n32 and {32r6,n32r6,64r6} for mips.
>> Please add it when dpkg patch is merged.
>
> I refreshed this patche. See the attachment.
>
>>
>> --
>> YunQiang Su



-- 
YunQiang Su
diff --git a/debian/control b/debian/control
index fede768..9e749ab 100644
--- a/debian/control
+++ b/debian/control
@@ -325,3 +325,107 @@ Description: GNU binary utilities, for sparc64-linux-gnu 
target
  .
  You don't need this package unless you plan to cross-compile programs
  for sparc64-linux-gnu.
+
+Package: binutils-mips64-linux-gnuabin32
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides: 
+Priority: extra
+Description: GNU binary utilities, for mips64-linux-gnuabin32 target
+ This package provides GNU assembler, linker and binary utilities
+ for mips64-linux-gnuabin32 target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for mips64-linux-gnuabin32.
+
+Package: binutils-mips64el-linux-gnuabin32
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides: 
+Priority: extra
+Description: GNU binary utilities, for mips64el-linux-gnuabin32 target
+ This package provides GNU assembler, linker and binary utilities
+ for mips64el-linux-gnuabin32 target, for use in a cross-compilation 
environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for mips64el-linux-gnuabin32.
+
+Package: binutils-mipsisa32r6-linux-gnu
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides: 
+Priority: extra
+Description: GNU binary utilities, for mipsisa32r6-linux-gnu target
+ This package provides GNU assembler, linker and binary utilities
+ for mipsisa32r6-linux-gnu target, for use in a cross-compilation environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for mipsisa32r6-linux-gnu.
+
+Package: binutils-mipsisa32r6el-linux-gnu
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides: 
+Priority: extra
+Description: GNU binary utilities, for mipsisa32r6el-linux-gnu target
+ This package provides GNU assembler, linker and binary utilities
+ for mipsisa32r6el-linux-gnu target, for use in a cross-compilation 
environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for mipsisa32r6el-linux-gnu.
+
+Package: binutils-mipsisa64r6-linux-gnuabin32
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides: 
+Priority: extra
+Description: GNU binary utilities, for mipsisa64r6-linux-gnuabin32 target
+ This package provides GNU assembler, linker and binary utilities
+ for mipsisa64r6-linux-gnuabin32 target, for use in a cross-compilation 
environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for mipsisa64r6-linux-gnuabin32.
+
+Package: binutils-mipsisa64r6el-linux-gnuabin32
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides: 
+Priority: extra
+Description: GNU binary utilities, for mipsisa64r6el-linux-gnuabin32 target
+ This package provides GNU assembler, linker and binary utilities
+ for mipsisa64r6el-linux-gnuabin32 target, for use in a cross-compilation 
environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for mipsisa64r6el-linux-gnuabin32.
+
+Package: binutils-mipsisa64r6-linux-gnuabi64
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides: 
+Priority: extra
+Description: GNU binary utilities, for mipsisa64r6-linux-gnuabi64 target
+ This package provides GNU assembler, linker and binary utilities
+ for mipsisa64r6-linux-gnuabi64 target, for use in a cross-compilation 
environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for mipsisa64r6-linux-gnuabi64.
+
+Package: binutils-mipsisa64r6el-linux-gnuabi64
+Architecture: amd64 i386 x32
+Depends: binutils (= ${binary:Version}), ${shlibs:Depends}
+Suggests: binutils-doc (= ${source:Version})
+Provides: 
+Priority: extra
+Description: GNU binary utilities, for mipsisa64r6el-linux-gnuabi64 target
+ This package provides GNU assembler, linker and binary utilities
+ for mipsisa64r6el-linux-gnuabi64 target, for use in a cross-compilation 
environment.
+ .
+ You don't need this package unless you plan to cross-compile programs
+ for mipsisa64r6el-linux-gnuabi64.
diff --git a/debian/patches/mips64-default-n64.diff 
b/debian/patches/mips64-default-n64.diff
index f114ca7..7178f99 100644
--- a/debian/patches/mips64-default-n64.diff
+++ b/debian/patches/mips64-default-n64.diff
@@ -1,66 +1,75 @@
-Index: b/bfd/config.bfd
-===================================================================
 --- a/bfd/config.bfd
 +++ b/bfd/config.bfd
-@@ -1086,6 +1086,16 @@ case "${targ}" in
+@@ -1086,11 +1086,21 @@
      targ_defvec=mips_elf32_be_vec
      targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec 
mips_ecoff_be_vec mips_ecoff_le_vec"
      ;;
-+  mips64*el-*-linux*-gnuabi64)
+-  mips64*el-*-linux*)
++  mips*64*el-*-linux*-gnuabi64)
 +    targ_defvec=mips_elf64_trad_le_vec
 +    targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec 
mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec"
 +    want64=true
 +    ;;
-+  mips64*-*-linux*-gnuabi64)
++  mips*64*-*-linux*-gnuabi64)
 +    targ_defvec=mips_elf64_trad_be_vec
 +    targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec 
mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec"
 +    want64=true
 +    ;;
-   mips64*el-*-linux*)
++  mips*64*el-*-linux*)
      targ_defvec=mips_elf32_ntrad_le_vec
      targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec 
mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec"
-Index: b/gas/configure.ac
-===================================================================
+     ;;
+-  mips64*-*-linux*)
++  mips*64*-*-linux*)
+     targ_defvec=mips_elf32_ntrad_be_vec
+     targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec 
mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
+     ;;
 --- a/gas/configure.ac
 +++ b/gas/configure.ac
-@@ -300,6 +300,9 @@ changequote([,])dnl
+@@ -322,7 +322,10 @@
        esac
        # Decide which ABI to target by default.
        case ${target} in
-+        mips64*-linux-gnuabi64)
+-        mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* | 
mips64*-kfreebsd*-gnu)
++        mips*64*-linux-gnuabi64)
 +          mips_default_abi=N64_ABI
 +          ;;
-         mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* | 
mips64*-kfreebsd*-gnu)
++        mips*64*-linux* | mips-sgi-irix6* | mips64*-freebsd* | 
mips64*-kfreebsd*-gnu)
            mips_default_abi=N32_ABI
            ;;
-Index: b/ld/configure.tgt
-===================================================================
+         mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu)
 --- a/ld/configure.tgt
 +++ b/ld/configure.tgt
-@@ -509,6 +509,12 @@ mips*el-*-vxworks*)       targ_emul=elf32elmip
+@@ -509,10 +509,16 @@
  mips*-*-vxworks*)     targ_emul=elf32ebmipvxworks
                        targ_extra_emuls="elf32elmipvxworks" ;;
  mips*-*-windiss)      targ_emul=elf32mipswindiss ;;
-+mips64*el-*-linux-gnuabi64)   targ_emul=elf64ltsmip
+-mips64*el-*-linux-*)  targ_emul=elf32ltsmipn32
++mips*64*el-*-linux-gnuabi64)  targ_emul=elf64ltsmip
 +                      targ_extra_emuls="elf32btsmipn32 elf32ltsmip 
elf32btsmip elf32ltsmipn32 elf64btsmip"
 +                      targ_extra_libpath=$targ_extra_emuls ;;
-+mips64*-*-linux-gnuabi64)     targ_emul=elf64btsmip
++mips*64*-*-linux-gnuabi64)    targ_emul=elf64btsmip
 +                      targ_extra_emuls="elf32ltsmipn32 elf32btsmip 
elf32ltsmip elf32btsmipn32 elf64ltsmip"
 +                      targ_extra_libpath=$targ_extra_emuls ;;
- mips64*el-*-linux-*)  targ_emul=elf32ltsmipn32
++mips*64*el-*-linux-*) targ_emul=elf32ltsmipn32
                        targ_extra_emuls="elf32btsmipn32 elf32ltsmip 
elf32btsmip elf64ltsmip elf64btsmip"
                        targ_extra_libpath=$targ_extra_emuls ;;
-Index: b/gas/configure
-===================================================================
+-mips64*-*-linux-*)    targ_emul=elf32btsmipn32
++mips*64*-*-linux-*)   targ_emul=elf32btsmipn32
+                       targ_extra_emuls="elf32ltsmipn32 elf32btsmip 
elf32ltsmip elf64btsmip elf64ltsmip"
+                       targ_extra_libpath=$targ_extra_emuls ;;
+ mips*el-*-linux-*)    targ_emul=elf32ltsmip
 --- a/gas/configure
 +++ b/gas/configure
-@@ -12215,6 +12215,9 @@ _ACEOF
+@@ -12240,7 +12240,10 @@
        esac
        # Decide which ABI to target by default.
        case ${target} in
-+        mips64*-linux-gnuabi64)
+-        mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* | 
mips64*-kfreebsd*-gnu)
++        mips*64*-linux-gnuabi64)
 +          mips_default_abi=N64_ABI
 +          ;;
-         mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* | 
mips64*-kfreebsd*-gnu)
++        mips*64*-linux* | mips-sgi-irix6* | mips64*-freebsd* | 
mips64*-kfreebsd*-gnu)
            mips_default_abi=N32_ABI
            ;;
+         mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu)
diff --git a/debian/rules b/debian/rules
index 9acad00..b85c6f4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -84,6 +84,8 @@ ifeq ($(src_name),binutils)
   same_source  = yes
   CROSS_ARCHS  ?= s390x ppc64el powerpc arm64 armhf armel mips mipsel
   CROSS_ARCHS  += alpha hppa m68k mips64 mips64el powerpcspe ppc64 sh4 sparc64
+  CROSS_ARCHS  += mipsn32 mipsn32el
+  CROSS_ARCHS  += mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
   #CROSS_ARCHS += kfreebsd-amd64 kfreebsd-i386 hurd-i386
 else
   # binutils-ports ...
@@ -114,6 +116,16 @@ HOST_ARCHS_ppc64 = amd64 i386 x32 ppc64el
 HOST_ARCHS_sh4 = amd64 i386 x32
 HOST_ARCHS_sparc64 = amd64 i386 x32
 
+HOST_ARCHS_mipsn32 = amd64 i386 x32
+HOST_ARCHS_mipsn32el = amd64 i386 x32
+
+HOST_ARCHS_mipsr6 = amd64 i386 x32
+HOST_ARCHS_mipsr6el = amd64 i386 x32
+HOST_ARCHS_mipsn32r6 = amd64 i386 x32
+HOST_ARCHS_mipsn32r6el = amd64 i386 x32
+HOST_ARCHS_mips64r6 = amd64 i386 x32
+HOST_ARCHS_mips64r6el = amd64 i386 x32
+
 HOST_ARCHS_kfreebsd-amd64 = amd64 i386 x32
 HOST_ARCHS_kfreebsd-i386 = amd64 i386 x32
 HOST_ARCHS_hurd-i386 = amd64 i386 x32
@@ -179,6 +191,7 @@ SHELL  = /bin/bash
 gold_targets = \
        amd64 arm64 armel armhf i386 \
        mips mipsel mipsn32 mipsn32el mips64 mips64el \
+       mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el \
        powerpc powerpcspe ppc64 ppc64el \
        x32 kfreebsd-amd64 kfreebsd-i386 hurd-i386
 
@@ -340,7 +353,25 @@ DEB_TARGET_MULTIARCH32_mips64              = mips-linux-gnu
 DEB_TARGET_MULTIARCHN32_mips64         = mips64-linux-gnuabin32
 
 DEB_TARGET_MULTIARCH32_mips64el                = mipsel-linux-gnu
-DEB_TARGET_MULTIARCHN32_mipselel       = mips64el-linux-gnuabin32
+DEB_TARGET_MULTIARCHN32_mips64el       = mips64el-linux-gnuabin32
+
+DEB_TARGET_MULTIARCH64_mipsr6          = mipsisa64r6-linux-gnuabi64
+DEB_TARGET_MULTIARCHN32_mipsr6 = mipsisa64r6-linux-gnuabin32
+
+DEB_TARGET_MULTIARCH64_mipsr6el        = mipsisa64r6el-linux-gnuabi64
+DEB_TARGET_MULTIARCHN32_mipsr6el       = mipsisa64r6el-linux-gnuabin32
+
+DEB_TARGET_MULTIARCH64_mipsn32r6       = mipsisa64r6-linux-gnuabi64
+DEB_TARGET_MULTIARCH32_mipsn32r6       = mipsisa32r6-linux-gnu
+
+DEB_TARGET_MULTIARCH64_mipsn32r6el     = mipsisa64r6el-linux-gnuabi64
+DEB_TARGET_MULTIARCH32_mipsn32r6el     = mipsisa32r6el-linux-gnu
+
+DEB_TARGET_MULTIARCH32_mips64r6                = mipsisa32r6-linux-gnu
+DEB_TARGET_MULTIARCHN32_mips64r6       = mipsisa64r6-linux-gnuabin32
+
+DEB_TARGET_MULTIARCH32_mips64r6el      = mipsisa32r6el-linux-gnu
+DEB_TARGET_MULTIARCHN32_mips64r6el     = mipsisa64r6el-linux-gnuabin32
 
 DEB_TARGET_MULTIARCH32_arm64           = aarch64_ilp32-linux-gnu
 
@@ -391,6 +422,18 @@ CONFARGS_TARGET_mips64             = 
--enable-targets=mips64-linux-gnuabin32,mips-linux-gnu
 
 CONFARGS_TARGET_mips64el       = 
--enable-targets=mips64el-linux-gnuabin32,mipsel-linux-gnu
 
+CONFARGS_TARGET_mipsr6 = 
--enable-targets=mipsisa64r6-linux-gnuabi64,mipsisa64r6-linux-gnuabin32
+
+CONFARGS_TARGET_mipsr6el       = 
--enable-targets=mipsisa64r6el-linux-gnuabi64,mipsisa64r6el-linux-gnuabin32
+
+CONFARGS_TARGET_mipsn32r6      = 
--enable-targets=mipsisa64r6-linux-gnuabi64,mipsisa32r6-linux-gnu
+
+CONFARGS_TARGET_mipsn32r6el    = 
--enable-targets=mipsisa64r6el-linux-gnuabi64,mipsisa32r6el-linux-gnu
+
+CONFARGS_TARGET_mips64r6       = 
--enable-targets=mipsisa64r6-linux-gnuabin32,mipsisa32r6-linux-gnu
+
+CONFARGS_TARGET_mips64r6el     = 
--enable-targets=mipsisa64r6el-linux-gnuabin32,mipsisa32r6el-linux-gnu
+
 CONFARGS_TARGET_aarch64                = --enable-targets=aarch64_be-linux-gnu
 
 with_check := yes
@@ -585,8 +628,16 @@ multiarch_targets = \
        m68k-rtems \
        mips-linux-gnu \
        mipsel-linux-gnu \
+       mips64-linux-gnuabin32 \
+       mips64el-linux-gnuabin32 \
        mips64-linux-gnu \
        mips64el-linux-gnu \
+       mipsisa32r6-linux-gnu \
+       mipsisa32r6el-linux-gnu \
+       mipsisa64r6-linux-gnuabin32 \
+       mipsisa64r6el-linux-gnuabin32 \
+       mipsisa64r6-linux-gnuabi64 \
+       mipsisa64r6el-linux-gnuabi64 \
        powerpc-linux-gnu \
        powerpc64-linux-gnu \
        powerpc64le-linux-gnu \

Reply via email to