From 984b909a237441995d41a2a04f9b31bd0c3dad2c Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 6 Nov 2019 17:50:27 +1030 Subject: [PATCH] Order targets in ld/configure.tgt The target list was supposed to be more or less alphabetically sorted, but this wasn't anywhere near the case. The comment about keeping architecture variants together seems odd to me, and is no doubt the reason why ix86 and x86_64 were grouped together, so I removed that comment. The patch doesn't change order of entries for a given cpu. * configure.tgt: Order targets by cpu. --- ld/ChangeLog | 4 + ld/configure.tgt | 195 +++++++++++++++++++++++------------------------ 2 files changed, 100 insertions(+), 99 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index f97cba22237..ad521979f44 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,7 @@ +2019-11-07 Alan Modra + + * configure.tgt: Order targets by cpu. + 2019-11-07 Alan Modra * testsuite/ld-aarch64/aarch64-elf.exp: Run tests requiring pie diff --git a/ld/configure.tgt b/ld/configure.tgt index 608db3057ea..aaeda30b57a 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -40,10 +40,8 @@ targ_extra_ofiles="ldelf.o ldelfgen.o" targ64_extra_emuls= targ64_extra_libpath= -# Please try to keep this table in alphabetic order - it makes it -# much easier to lookup a specific archictecture. Naturally any -# architecture variants should be kept together even if their names -# break the alpha sorting. +# Please try to keep this table more or less in alphabetic order - it +# makes it much easier to lookup a specific archictecture. case "${targ}" in aarch64_be-*-elf) targ_emul=aarch64elfb targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b armelfb armelf" @@ -104,6 +102,8 @@ alpha*-*-openbsd*) targ_emul=elf64alpha alpha*-*-*vms*) targ_emul=alphavms targ_extra_ofiles= ;; +am33_2.0-*-linux*) targ_emul=elf32am33lin # mn10300 variant + ;; arc*-*-elf*) targ_emul=arcelf targ_extra_emuls="arcelf_prof arclinux arclinux_nps arclinux_prof arcv2elf arcv2elfx" ;; @@ -275,10 +275,7 @@ frv-*-*linux*) targ_emul=elf32frvfd frv-*-*) targ_emul=elf32frv targ_extra_emuls="elf32frvfd" ;; -moxie-*-moxiebox*) targ_emul=moxiebox - targ_extra_ofiles=ldelfgen.o - ;; -moxie-*-*) targ_emul=elf32moxie +ft32-*-*) targ_emul=elf32ft32 targ_extra_ofiles=ldelfgen.o ;; h8300-*-elf* | h8300-*-rtems*) @@ -319,10 +316,6 @@ i[3-7]86-*-aros*) targ_emul=elf_i386 i[3-7]86-*-rdos*) targ_emul=elf_i386 targ_extra_emuls=elf_iamcu ;; -x86_64-*-rdos*) targ_emul=elf64rdos - ;; -x86_64-*-cloudabi*) targ_emul=elf_x86_64_cloudabi - ;; i[3-7]86-*-bsd) targ_emul=i386bsd targ_extra_ofiles= ;; @@ -337,23 +330,9 @@ i[3-7]86-*-linux-*) targ_emul=elf_i386 targ64_extra_emuls="elf_x86_64 elf32_x86_64 elf_l1om elf_k1om" targ64_extra_libpath="elf_x86_64 elf32_x86_64" ;; -x86_64-*-linux-gnux32) targ_emul=elf32_x86_64 - targ_extra_emuls="elf_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om" - targ_extra_libpath="elf_i386 elf_iamcu elf_x86_64 elf_l1om elf_k1om" - tdir_elf_iamcu=`echo ${targ_alias} | 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 - targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om" - targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om" - tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` - ;; i[3-7]86-*-redox*) targ_emul=elf_i386 targ_extra_emuls=elf_x86_64 ;; -x86_64-*-redox*) targ_emul=elf_x86_64 - targ_extra_emuls=elf_i386 - ;; i[3-7]86-*-sysv[45]*) targ_emul=elf_i386 targ_extra_emuls=elf_iamcu ;; @@ -361,12 +340,6 @@ i[3-7]86-*-solaris2*) targ_emul=elf_i386_sol2 targ_extra_emuls="elf_i386_ldso elf_i386 elf_iamcu elf_x86_64_sol2 elf_x86_64 elf_l1om elf_k1om" targ_extra_libpath=$targ_extra_emuls ;; -x86_64-*-solaris2*) - targ_emul=elf_x86_64_sol2 - targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_iamcu elf_l1om elf_k1om" - targ_extra_libpath=$targ_extra_emuls - tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` - ;; i[3-7]86-*-unixware) targ_emul=elf_i386 targ_extra_emuls=elf_iamcu ;; @@ -383,23 +356,6 @@ i[3-7]86-*-knetbsd*-gnu) i[3-7]86-*-netbsdpe*) targ_emul=i386pe targ_extra_ofiles="deffilep.o pe-dll.o" ;; -x86_64-*-netbsd*) targ_emul=elf_x86_64 - targ_extra_emuls="elf_i386 elf_iamcu elf_l1om elf_k1om" - tdir_elf_iamcu=`echo ${targ_alias} | \ - sed -e 's/x86_64/i386/'` - case "${tdir_elf_iamcu}" in - *-netbsdelf*) ;; - *) tdir_elf_iamcu=`echo ${tdir_elf_iamcu} | \ - sed -e 's/netbsd/netbsdelf/'`;; - esac - tdir_elf_i386=`echo ${targ_alias} | \ - sed -e 's/x86_64/i386/'` - case "${tdir_elf_i386}" in - *-netbsdelf*) ;; - *) tdir_elf_i386=`echo ${tdir_elf_i386} | \ - sed -e 's/netbsd/netbsdelf/'`;; - esac - ;; i[3-7]86-*-elfiamcu) targ_emul=elf_iamcu targ_extra_emuls=elf_i386 ;; @@ -407,33 +363,13 @@ i[3-7]86-*-elf* | i[3-7]86-*-rtems*) targ_emul=elf_i386 targ_extra_emuls=elf_iamcu ;; -x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia*) - targ_emul=elf_x86_64 - targ_extra_emuls="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" - targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" - tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` - ;; i[3-7]86-*-dragonfly*) targ_emul=elf_i386 targ_extra_emuls="elf_iamcu i386bsd" ;; -x86_64-*-dragonfly*) targ_emul=elf_x86_64 - targ_extra_emuls="elf_i386 elf_iamcu elf_l1om elf_k1om" - ;; i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu) targ_emul=elf_i386_fbsd targ_extra_emuls="elf_i386 elf_iamcu i386bsd" ;; -x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) - targ_emul=elf_x86_64_fbsd - targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386 elf_iamcu elf_l1om elf_l1om_fbsd elf_k1om elf_k1om_fbsd" - targ_extra_libpath="elf_i386_fbsd" - tdir_elf_i386_fbsd=`echo ${targ_alias} \ - | sed -e 's/x86_64/i386/'` - tdir_elf_iamcu=`echo ${targ_alias} \ - | sed -e 's/x86_64/i386/'` - tdir_elf_i386=`echo ${targ_alias} \ - | sed -e 's/x86_64/i386/'` - ;; i[3-7]86-*-gnu*) targ_emul=elf_i386 targ_extra_emuls=elf_iamcu ;; @@ -458,19 +394,6 @@ i[3-7]86-*-cygwin*) targ_emul=i386pe ; i[3-7]86-*-mingw32*) targ_emul=i386pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; -x86_64-*-pe | x86_64-*-pep) targ_emul=i386pep ; - targ_extra_emuls=i386pe ; - targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" - ;; -x86_64-*-cygwin) targ_emul=i386pep ; - targ_extra_emuls=i386pe - targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" - test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' - ;; -x86_64-*-mingw*) targ_emul=i386pep ; - targ_extra_emuls=i386pe - targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" - ;; i[3-7]86-*-interix*) targ_emul=i386pe_posix; targ_extra_ofiles="deffilep.o pe-dll.o" ;; @@ -489,11 +412,6 @@ i[3-7]86-*-nacl*) targ_emul=elf_i386_nacl targ64_extra_emuls="elf32_x86_64_nacl elf_x86_64_nacl" targ64_extra_libpath=$targ64_extra_emuls ;; -x86_64-*-nacl*) targ_emul=elf32_x86_64_nacl - targ_extra_emuls="elf_i386_nacl elf_x86_64_nacl armelf_nacl armelfb_nacl" - targ_extra_libpath=$targ_extra_emuls - tdir_elf_i386_nacl=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` - ;; ia16-*-elf*) targ_emul=elf_i386 targ_extra_emuls=i386msdos ;; @@ -545,9 +463,6 @@ m68*-*-netbsdelf*) targ_emul=m68kelfnbsd ;; m68*-*-*) targ_emul=m68kelf ;; -s12z-*-*) targ_emul=m9s12zelf - targ_extra_ofiles=ldelfgen.o - ;; mcore-*-pe) targ_emul=mcorepe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; @@ -669,20 +584,24 @@ mips*-*-sysv4*) targ_emul=elf32btsmip mmix-*-*) targ_emul=mmo targ_extra_emuls=elf64mmix ;; -am33_2.0-*-linux*) targ_emul=elf32am33lin - ;; mn10200-*-*) targ_emul=mn10200 targ_extra_ofiles=ldelfgen.o ;; mn10300-*-*) targ_emul=mn10300 ;; -mt-*elf) targ_emul=elf32mt +moxie-*-moxiebox*) targ_emul=moxiebox + targ_extra_ofiles=ldelfgen.o + ;; +moxie-*-*) targ_emul=elf32moxie targ_extra_ofiles=ldelfgen.o ;; msp430-*-*) targ_emul=msp430elf targ_extra_emuls="msp430X" targ_extra_ofiles=ldelfgen.o ;; +mt-*elf) targ_emul=elf32mt + targ_extra_ofiles=ldelfgen.o + ;; nds32*le-*-elf*) targ_emul=nds32elf targ_extra_emuls="nds32elf16m nds32belf nds32belf16m" ;; @@ -861,6 +780,9 @@ rl78-*-*) targ_emul=elf32rl78 ;; rx-*-*) targ_emul=elf32rx ;; +s12z-*-*) targ_emul=m9s12zelf + targ_extra_ofiles=ldelfgen.o + ;; s390x-*-linux*) targ_emul=elf64_s390 targ_extra_emuls=elf_s390 targ_extra_libpath=$targ_extra_emuls @@ -994,9 +916,6 @@ tilegxbe-*-*) targ_emul=elf64tilegx_be ;; tilepro-*-*) targ_emul=elf32tilepro ;; -ft32-*-*) targ_emul=elf32ft32 - targ_extra_ofiles=ldelfgen.o - ;; v850*-*-*) targ_emul=v850_rh850 targ_extra_emuls=v850 ;; @@ -1011,16 +930,94 @@ vax-*-linux-*) targ_emul=elf32vax ;; visium-*-elf) targ_emul=elf32visium ;; +x86_64-*-rdos*) targ_emul=elf64rdos + ;; +x86_64-*-cloudabi*) targ_emul=elf_x86_64_cloudabi + ;; +x86_64-*-linux-gnux32) targ_emul=elf32_x86_64 + targ_extra_emuls="elf_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om" + targ_extra_libpath="elf_i386 elf_iamcu elf_x86_64 elf_l1om elf_k1om" + tdir_elf_iamcu=`echo ${targ_alias} | 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 + targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om" + targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om" + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` + ;; +x86_64-*-redox*) targ_emul=elf_x86_64 + targ_extra_emuls=elf_i386 + ;; +x86_64-*-solaris2*) targ_emul=elf_x86_64_sol2 + targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_iamcu elf_l1om elf_k1om" + targ_extra_libpath=$targ_extra_emuls + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` + ;; +x86_64-*-netbsd*) targ_emul=elf_x86_64 + targ_extra_emuls="elf_i386 elf_iamcu elf_l1om elf_k1om" + tdir_elf_iamcu=`echo ${targ_alias} | \ + sed -e 's/x86_64/i386/'` + case "${tdir_elf_iamcu}" in + *-netbsdelf*) ;; + *) tdir_elf_iamcu=`echo ${tdir_elf_iamcu} | \ + sed -e 's/netbsd/netbsdelf/'`;; + esac + tdir_elf_i386=`echo ${targ_alias} | \ + sed -e 's/x86_64/i386/'` + case "${tdir_elf_i386}" in + *-netbsdelf*) ;; + *) tdir_elf_i386=`echo ${tdir_elf_i386} | \ + sed -e 's/netbsd/netbsdelf/'`;; + esac + ;; +x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia*) + targ_emul=elf_x86_64 + targ_extra_emuls="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" + targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` + ;; +x86_64-*-dragonfly*) targ_emul=elf_x86_64 + targ_extra_emuls="elf_i386 elf_iamcu elf_l1om elf_k1om" + ;; +x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) + targ_emul=elf_x86_64_fbsd + targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386 elf_iamcu elf_l1om elf_l1om_fbsd elf_k1om elf_k1om_fbsd" + targ_extra_libpath="elf_i386_fbsd" + tdir_elf_i386_fbsd=`echo ${targ_alias} \ + | sed -e 's/x86_64/i386/'` + tdir_elf_iamcu=`echo ${targ_alias} \ + | sed -e 's/x86_64/i386/'` + tdir_elf_i386=`echo ${targ_alias} \ + | sed -e 's/x86_64/i386/'` + ;; +x86_64-*-pe | x86_64-*-pep) targ_emul=i386pep ; + targ_extra_emuls=i386pe ; + targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" + ;; +x86_64-*-cygwin) targ_emul=i386pep ; + targ_extra_emuls=i386pe + targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" + test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' + ;; +x86_64-*-mingw*) targ_emul=i386pep ; + targ_extra_emuls=i386pe + targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" + ;; +x86_64-*-nacl*) targ_emul=elf32_x86_64_nacl + targ_extra_emuls="elf_i386_nacl elf_x86_64_nacl armelf_nacl armelfb_nacl" + targ_extra_libpath=$targ_extra_emuls + tdir_elf_i386_nacl=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` + ;; xc16x-*-elf) targ_emul=elf32xc16x targ_extra_emuls="elf32xc16xl elf32xc16xs" ;; +xgate-*-*) targ_emul=xgateelf + targ_extra_ofiles=ldelfgen.o + ;; xstormy16-*-*) targ_emul=elf32xstormy16 ;; xtensa*-*-*) targ_emul=elf32xtensa ;; -xgate-*-*) targ_emul=xgateelf - targ_extra_ofiles=ldelfgen.o - ;; z80-*-coff) targ_emul=z80 targ_extra_ofiles= ;; -- 2.30.2