source: mainline/tools/toolchain-binutils-2.23.1.patch@ 5a65d29

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 5a65d29 was 5a65d29, checked in by Vojtech Horky <vojtechhorky@…>, 12 years ago

Add HelenOS-specific toolchain patches

It is possible to build '*-helenos-*' toolchain, that is the triplet
would contain the word 'helenos' instead of 'linux' and GCC would
provide some HelenOS-specific macros.

The toolchain can be built with the toolchain.sh script, just provide
—helenos-target as a parameter.

Changes to the autotool/configuration scripts would be added later.

  • Property mode set to 100644
File size: 8.8 KB
  • bfd/config.bfd

    diff -ud -Nrud binutils-2.23.1-original/bfd/config.bfd binutils-2.23.1/bfd/config.bfd
    old new  
    203203    targ_defvec=ecoffalpha_little_vec
    204204    want64=true
    205205    ;;
    206   ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
     206  ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu | ia64*-*-helenos)
    207207    targ_defvec=bfd_elf64_ia64_little_vec
    208208    targ_selvecs="bfd_elf64_ia64_big_vec bfd_pei_ia64_vec"
    209209    want64=true
     
    315315    ;;
    316316  arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
    317317  arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
     318  arm-helenos-gnueabi | \
    318319  arm*-*-eabi* )
    319320    targ_defvec=bfd_elf32_littlearm_vec
    320321    targ_selvecs=bfd_elf32_bigarm_vec
     
    538539    targ_defvec=bfd_elf32_i386_vec
    539540    targ_selvecs="i386coff_vec i386aout_vec"
    540541    ;;
     542  i[3-7]86-*-helenos*)
     543    targ_defvec=bfd_elf32_i386_vec
     544    targ_selvecs="i386linux_vec i386pei_vec"
     545    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf32_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
     546    ;;
     547  x86_64-*-helenos*)
     548    targ_defvec=bfd_elf64_x86_64_vec
     549    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"
     550    want64=true
     551    ;;
    541552  i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
    542553    targ_defvec=mach_o_i386_vec
    543554    targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
     
    9961007    targ_defvec=bfd_elf32_bigmips_vec
    9971008    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
    9981009    ;;
     1010  mips*-*-helenos*)
     1011    targ_defvec=bfd_elf32_tradlittlemips_vec
     1012    targ_selvecs="bfd_elf32_tradbigmips_vec ecoff_little_vec ecoff_big_vec bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec"
     1013    ;;
    9991014  mips*-*-none)
    10001015    targ_defvec=bfd_elf32_bigmips_vec
    10011016    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
     
    10311046    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"
    10321047    want64=true
    10331048    ;;
     1049  mips64el-*-helenos*)
     1050    targ_defvec=bfd_elf32_tradlittlemips_vec
     1051    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"
     1052    want64=true
     1053    ;;
    10341054  mips*-*-linux*)
    10351055    targ_defvec=bfd_elf32_tradbigmips_vec
    10361056    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"
     
    11791199    want64=true
    11801200    ;;
    11811201  powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \
     1202  powerpc64-*-helenos* | \
    11821203  powerpc64-*-*bsd*)
    11831204    targ_defvec=bfd_elf64_powerpc_vec
    11841205    targ_selvecs="bfd_elf64_powerpcle_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
     
    11971218    ;;
    11981219  powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
    11991220  powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \
     1221  powerpc-*-helenos* | \
    12001222  powerpc-*-chorus*)
    12011223    targ_defvec=bfd_elf32_powerpc_vec
    12021224    targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
     
    14951517    targ_underscore=yes
    14961518    want64=true
    14971519    ;;
    1498   sparc64*-*-linux-*)
     1520  sparc64*-*-linux-* | sparc64-*-helenos*)
    14991521    targ_defvec=bfd_elf64_sparc_vec
    15001522    targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
    15011523    want64=true
  • binutils-2.23.

    diff -ud -Nrud binutils-2.23.1-original/config.sub binutils-2.23.1/config.sub
    old new  
    13591359              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
    13601360              | -chorusos* | -chorusrdb* | -cegcc* \
    13611361              | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
     1362              | -helenos* \
    13621363              | -mingw32* | -linux-gnu* | -linux-android* \
    13631364              | -linux-newlib* | -linux-uclibc* \
    13641365              | -uxpv* | -beos* | -mpeix* | -udk* \
  • gas/configure.tgt

    diff -ud -Nrud binutils-2.23.1-original/gas/configure.tgt binutils-2.23.1/gas/configure.tgt
    old new  
    113113  arm-*-aout)                           fmt=aout ;;
    114114  arm-*-coff)                           fmt=coff ;;
    115115  arm-*-rtems*)                         fmt=elf ;;
     116  arm-helenos-*eabi*)                   fmt=elf  em=armlinuxeabi ;;
    116117  arm-*-elf)                            fmt=elf ;;
    117118  arm-*-eabi*)                          fmt=elf em=armeabi ;;
    118119  arm-*-symbianelf*)                    fmt=elf em=symbian ;;
     
    231232  i386-*-msdosdjgpp* \
    232233  | i386-*-go32*)                       fmt=coff em=go32 ;;
    233234  i386-*-rtems*)                        fmt=elf ;;
     235  i386-*-helenos*)                      fmt=elf ;;
    234236  i386-*-gnu*)                          fmt=elf em=gnu ;;
    235237  i386-*-mach*)                         fmt=aout em=mach ;;
    236238  i386-*-msdos*)                        fmt=aout ;;
     
    259261  ia64-*-linux-*)                       fmt=elf em=linux ;;
    260262  ia64-*-hpux*)                         fmt=elf em=hpux ;;
    261263  ia64-*-netbsd*)                       fmt=elf em=nbsd ;;
     264  ia64-*-helenos*)                      fmt=elf ;;
    262265
    263266  ip2k-*-*)                             fmt=elf ;;
    264267
     
    311314  mips*-sde-elf*)                       fmt=elf em=tmips ;;
    312315  mips-*-sysv*)                         fmt=ecoff ;;
    313316  mips-*-elf* | mips-*-rtems*)          fmt=elf ;;
     317  mips*el-*-helenos*)                   fmt=elf endian=little em=tmips ;;
     318  mips-*-helenos*)                      fmt=elf em=tmips ;;
    314319  mips-*-netbsd*)                       fmt=elf em=tmips ;;
    315320  mips-*-openbsd*)                      fmt=elf em=tmips ;;
    316321
     
    352357  ppc-*-linux-*)                        fmt=elf em=linux ;;
    353358  ppc-*-solaris*)                       fmt=elf em=solaris ;;
    354359  ppc-*-rtems*)                         fmt=elf ;;
     360  ppc-*-helenos*)                       fmt=elf ;;
    355361  ppc-*-macos*)                         fmt=coff em=macos ;;
    356362  ppc-*-nto*)                           fmt=elf ;;
    357363  ppc-*-kaos*)                          fmt=elf ;;
     
    388394
    389395  sparc64-*-rtems*)                     fmt=elf ;;
    390396  sparc-*-rtems*)                       fmt=elf ;;
     397  sparc-*-helenos*)                     fmt=elf em=linux ;;
    391398  sparc-*-sunos4*)                      fmt=aout em=sun3 ;;
    392399  sparc-*-aout)                         fmt=aout em=sparcaout ;;
    393400  sparc-*-coff)                         fmt=coff ;;
  • ld/configure.tgt

    diff -ud -Nrud binutils-2.23.1-original/ld/configure.tgt binutils-2.23.1/ld/configure.tgt
    old new  
    7373arm-*-nto*)             targ_emul=armnto ;;
    7474arm-*-openbsd*)         targ_emul=armnbsd ;;
    7575arm-*-rtems*)           targ_emul=armelf ;;
     76arm-helenos-*eabi*)     targ_emul=armelf_linux_eabi
     77                        targ_extra_emuls=armelfb_linux_eabi
     78                        targ_extra_libpath=$targ_extra_emuls
     79                        ;;
    7680armeb-*-elf)            targ_emul=armelfb ;;
    7781arm-*-elf | arm*-*-eabi*)
    7882                        targ_emul=armelf ;;
     
    196200i[3-7]86-*-lynxos*)     targ_emul=i386lynx ;;
    197201i[3-7]86-*-coff)        targ_emul=i386coff ;;
    198202i[3-7]86-*-rtems*)      targ_emul=elf_i386 ;;
     203i[3-7]86-*-helenos*)    targ_emul=elf_i386 ;;
     204x86_64-*-helenos*)      targ_emul=elf_x86_64 ;;
    199205i[3-7]86-*-aros*)       targ_emul=elf_i386 ;;
    200206i[3-7]86-*-rdos*)       targ_emul=elf_i386 ;;
    201207i[3-7]86-*-bsd)         targ_emul=i386bsd ;;
     
    336342ia64-*-netbsd*)         targ_emul=elf64_ia64 ;;
    337343ia64-*-linux*)          targ_emul=elf64_ia64 ;;
    338344ia64-*-*vms*)           targ_emul=elf64_ia64_vms ;;
     345ia64-*-helenos*)        targ_emul=elf64_ia64 ;;
    339346ia64-*-aix*)            targ_emul=elf64_aix
    340347                        ;;
    341348ip2k-*-elf)             targ_emul=elf32ip2k
     
    429436mips*el-*-elf*)         targ_emul=elf32elmip ;;
    430437mips*-*-elf*)           targ_emul=elf32ebmip ;;
    431438mips*-*-rtems*)         targ_emul=elf32ebmip ;;
     439mipsel-*-helenos*)      targ_emul=elf32ltsmip
     440                        targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf32btsmipn32"
     441                        targ_extra_libpath=$targ_extra_emuls ;;
     442mips-*-helenos*)        targ_emul=elf32btsmip
     443                        targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf32ltsmipn32"
     444                        targ_extra_libpath=$targ_extra_emuls ;;
     445mips64*el-*-helenos*)   targ_emul=elf32ltsmipn32
     446                        targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
     447                        targ_extra_libpath=$targ_extra_emuls ;;
    432448mips*el-*-vxworks*)     targ_emul=elf32elmipvxworks
    433449                        targ_extra_emuls="elf32ebmipvxworks" ;;
    434450mips*-*-vxworks*)       targ_emul=elf32ebmipvxworks
     
    503519                        tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
    504520                        tdir_elf32ppc_fbsd=$tdir_elf32ppc
    505521                        ;;
    506 powerpc*-*-linux*)      case "${targ}" in
     522powerpc*-*-linux* | powerpc*-*-helenos*)
     523                        case "${targ}" in
    507524                        *64*)   targ_emul=elf64ppc
    508525                                targ_extra_emuls="elf32ppclinux elf32ppc elf32ppcsim"
    509526                                targ_extra_libpath="elf32ppclinux elf32ppc"
     
    642659                        targ_extra_emuls="elf32_sparc sun4"
    643660                        tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
    644661                        tdir_sun4=sparc-sun-sunos4 ;;
    645 sparc64-*-linux-*)      targ_emul=elf64_sparc
     662sparc64-*-linux-* | sparc64-*-helenos*)
     663                        targ_emul=elf64_sparc
    646664                        targ_extra_emuls="elf32_sparc sparclinux sun4"
    647665                        targ_extra_libpath=elf32_sparc
    648666                        tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
Note: See TracBrowser for help on using the repository browser.