diff -ud -rud binutils-2.23.1/bfd/config.bfd binutils-2.23.1/bfd/config.bfd --- binutils-2.23.1/bfd/config.bfd 2012-09-04 16:14:59.000000000 +0200 +++ binutils-2.23.1/bfd/config.bfd 2013-07-25 09:47:45.116719403 +0200 @@ -203,7 +203,7 @@ targ_defvec=ecoffalpha_little_vec want64=true ;; - ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) + ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu | ia64*-*-helenos) targ_defvec=bfd_elf64_ia64_little_vec targ_selvecs="bfd_elf64_ia64_big_vec bfd_pei_ia64_vec" want64=true @@ -315,6 +315,7 @@ ;; arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \ + arm-helenos-gnueabi | \ arm*-*-eabi* ) targ_defvec=bfd_elf32_littlearm_vec targ_selvecs=bfd_elf32_bigarm_vec @@ -600,7 +601,7 @@ targ_selvecs=bfd_elf32_i386_vec targ_underscore=yes ;; - i[3-7]86-*-linux-*) + i[3-7]86-*-linux-* | i[3-7]86-*-helenos*) targ_defvec=bfd_elf32_i386_vec targ_selvecs="i386linux_vec i386pei_vec" targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf32_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec" @@ -643,7 +644,7 @@ targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec i386pei_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec" want64=true ;; - x86_64-*-linux-*) + x86_64-*-linux-* | x86_64-*-helenos*) targ_defvec=bfd_elf64_x86_64_vec targ_selvecs="bfd_elf32_i386_vec bfd_elf32_x86_64_vec i386linux_vec i386pei_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec" want64=true @@ -1016,7 +1017,7 @@ targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec" ;; #ifdef BFD64 - mips64*el-*-linux*) + mips64*el-*-linux* | mips64el-*-helenos*) targ_defvec=bfd_elf32_ntradlittlemips_vec targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec" want64=true @@ -1026,12 +1027,12 @@ targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec" want64=true ;; - mips*el-*-linux*) + mips*el-*-linux* | mipsel-*-helenos*) targ_defvec=bfd_elf32_tradlittlemips_vec targ_selvecs="bfd_elf32_tradbigmips_vec ecoff_little_vec ecoff_big_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec" want64=true ;; - mips*-*-linux*) + mips*-*-linux* | mips-*-helenos*) targ_defvec=bfd_elf32_tradbigmips_vec targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec" want64=true @@ -1179,6 +1180,7 @@ want64=true ;; powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \ + powerpc64-*-helenos* | \ powerpc64-*-*bsd*) targ_defvec=bfd_elf64_powerpc_vec targ_selvecs="bfd_elf64_powerpcle_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec" @@ -1197,6 +1199,7 @@ ;; powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \ + powerpc-*-helenos* | \ powerpc-*-chorus*) targ_defvec=bfd_elf32_powerpc_vec targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec" @@ -1495,7 +1498,7 @@ targ_underscore=yes want64=true ;; - sparc64*-*-linux-*) + sparc64*-*-linux-* | sparc64-*-helenos*) targ_defvec=bfd_elf64_sparc_vec targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec" want64=true diff -ud -rud binutils-2.23.1/config.sub binutils-2.23.1/config.sub --- binutils-2.23.1/config.sub 2012-04-25 17:53:25.000000000 +0200 +++ binutils-2.23.1/config.sub 2013-07-25 09:36:54.354122235 +0200 @@ -1359,6 +1359,7 @@ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -helenos* \ | -mingw32* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ diff -ud -rud binutils-2.23.1/gas/configure.tgt binutils-2.23.1/gas/configure.tgt --- binutils-2.23.1/gas/configure.tgt 2012-09-04 14:53:45.000000000 +0200 +++ binutils-2.23.1/gas/configure.tgt 2013-07-25 09:53:00.181319734 +0200 @@ -119,7 +119,8 @@ arm-*-kaos*) fmt=elf ;; arm-*-conix*) fmt=elf ;; arm-*-linux*aout*) fmt=aout em=linux ;; - arm-*-linux-*eabi*) fmt=elf em=armlinuxeabi ;; + arm-*-linux-*eabi* | arm-helenos-*eabi*) + fmt=elf em=armlinuxeabi ;; arm-*-linux-*) fmt=elf em=linux ;; arm-*-uclinux*eabi*) fmt=elf em=armlinuxeabi ;; arm-*-uclinux*) fmt=elf em=linux ;; @@ -210,7 +211,7 @@ i386-*-linux*aout*) fmt=aout em=linux ;; i386-*-linux*oldld) fmt=aout em=linux ;; i386-*-linux*coff*) fmt=coff em=linux ;; - i386-*-linux-*) fmt=elf em=linux + i386-*-linux-* | i386-*-helenos*) fmt=elf em=linux case ${cpu}-${os} in x86_64*-linux-gnux32) arch=x86_64:32 ;; esac ;; @@ -256,7 +257,7 @@ ia64-*-elf*) fmt=elf ;; ia64-*-*vms*) fmt=elf em=vms ;; ia64-*-aix*) fmt=elf em=ia64aix ;; - ia64-*-linux-*) fmt=elf em=linux ;; + ia64-*-linux-* | ia64-*-helenos*) fmt=elf em=linux ;; ia64-*-hpux*) fmt=elf em=hpux ;; ia64-*-netbsd*) fmt=elf em=nbsd ;; @@ -304,7 +305,7 @@ mips-*-irix*) fmt=ecoff em=irix ;; mips-*-lnews*) fmt=ecoff em=lnews ;; mips-*-riscos*) fmt=ecoff ;; - mips*-*-linux*) fmt=elf em=tmips ;; + mips*-*-linux* | mips*-*-helenos*) fmt=elf em=tmips ;; mips*-*-freebsd* | mips*-*-kfreebsd*-gnu) fmt=elf em=freebsd ;; mips-*-sysv4*MP* | mips-*-gnu*) fmt=elf em=tmips ;; @@ -349,7 +350,7 @@ ppc-*-beos*) fmt=coff ;; ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;; ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;; - ppc-*-linux-*) fmt=elf em=linux ;; + ppc-*-linux-* | ppc-*-helenos) fmt=elf em=linux ;; ppc-*-solaris*) fmt=elf em=solaris ;; ppc-*-rtems*) fmt=elf ;; ppc-*-macos*) fmt=coff em=macos ;; @@ -392,7 +393,7 @@ sparc-*-aout) fmt=aout em=sparcaout ;; sparc-*-coff) fmt=coff ;; sparc-*-linux*aout*) fmt=aout em=linux ;; - sparc-*-linux-*) fmt=elf em=linux ;; + sparc-*-linux-* | sparc-*-helenos*) fmt=elf em=linux ;; sparc-fujitsu-none) fmt=aout ;; sparc-*-elf) fmt=elf ;; sparc-*-sysv4*) fmt=elf ;; diff -ud -rud binutils-2.23.1/ld/configure.tgt binutils-2.23.1/ld/configure.tgt --- binutils-2.23.1/ld/configure.tgt 2012-09-04 14:53:47.000000000 +0200 +++ binutils-2.23.1/ld/configure.tgt 2013-07-25 09:56:05.498734292 +0200 @@ -87,7 +87,8 @@ targ_extra_emuls="armelfb armelf armelf_linux" targ_extra_libpath="armelf_linux" ;; -arm*-*-linux-*eabi*) targ_emul=armelf_linux_eabi +arm*-*-linux-*eabi* | arm-helenos-*eabi*) + targ_emul=armelf_linux_eabi targ_extra_emuls=armelfb_linux_eabi targ_extra_libpath=$targ_extra_emuls ;; @@ -206,7 +207,8 @@ targ_extra_emuls=elf_i386 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` ;; i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; -i[3-7]86-*-linux-*) targ_emul=elf_i386 +i[3-7]86-*-linux-* | i[3-7]86-*-helenos*) + targ_emul=elf_i386 targ_extra_emuls=i386linux targ64_extra_emuls="elf_x86_64 elf32_x86_64 elf_l1om elf_k1om" targ64_extra_libpath=elf_x86_64 @@ -217,7 +219,8 @@ targ_extra_libpath="elf_i386 elf_x86_64 elf_l1om elf_k1om" tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` ;; -x86_64-*-linux-*) targ_emul=elf_x86_64 +x86_64-*-linux-* | x86_64-*-helenos*) + targ_emul=elf_x86_64 targ_extra_emuls="elf32_x86_64 elf_i386 i386linux elf_l1om elf_k1om" targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om" tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'` @@ -334,7 +337,8 @@ targ_emul=elf64_ia64_fbsd targ_extra_emuls="elf64_ia64" ;; ia64-*-netbsd*) targ_emul=elf64_ia64 ;; -ia64-*-linux*) targ_emul=elf64_ia64 ;; +ia64-*-linux* | ia64-*-helenos*) + targ_emul=elf64_ia64 ;; ia64-*-*vms*) targ_emul=elf64_ia64_vms ;; ia64-*-aix*) targ_emul=elf64_aix ;; @@ -434,16 +438,19 @@ mips*-*-vxworks*) targ_emul=elf32ebmipvxworks targ_extra_emuls="elf32elmipvxworks" ;; mips*-*-windiss) targ_emul=elf32mipswindiss ;; -mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 +mips64*el-*-linux-* | mips64*el-*-helenos*) + targ_emul=elf32ltsmipn32 targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" targ_extra_libpath=$targ_extra_emuls ;; mips64*-*-linux-*) targ_emul=elf32btsmipn32 targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" targ_extra_libpath=$targ_extra_emuls ;; -mips*el-*-linux-*) targ_emul=elf32ltsmip +mips*el-*-linux-* | mipsel-*-helenos*) + targ_emul=elf32ltsmip targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" targ_extra_libpath=$targ_extra_emuls ;; -mips*-*-linux-*) targ_emul=elf32btsmip +mips*-*-linux-* | mips-*-helenos*) + targ_emul=elf32btsmip targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" targ_extra_libpath=$targ_extra_emuls ;; mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu) @@ -503,7 +510,8 @@ tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'` tdir_elf32ppc_fbsd=$tdir_elf32ppc ;; -powerpc*-*-linux*) case "${targ}" in +powerpc*-*-linux* | powerpc*-*-helenos*) + case "${targ}" in *64*) targ_emul=elf64ppc targ_extra_emuls="elf32ppclinux elf32ppc elf32ppcsim" targ_extra_libpath="elf32ppclinux elf32ppc" @@ -642,7 +650,8 @@ targ_extra_emuls="elf32_sparc sun4" tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'` tdir_sun4=sparc-sun-sunos4 ;; -sparc64-*-linux-*) targ_emul=elf64_sparc +sparc64-*-linux-* | sparc64-*-helenos*) + targ_emul=elf64_sparc targ_extra_emuls="elf32_sparc sparclinux sun4" targ_extra_libpath=elf32_sparc tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`