1 # configure.tgt 2 # 3 # Copyright (C) 2013-2016 Free Software Foundation, Inc. 4 # 5 # This file is free software; you can redistribute it and/or modify 6 # it under the terms of the GNU General Public License as published by 7 # the Free Software Foundation; either version 3 of the License, or 8 # (at your option) any later version. 9 # 10 # This program is distributed in the hope that it will be useful, 11 # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 # GNU General Public License for more details. 14 # 15 # You should have received a copy of the GNU General Public License 16 # along with this program; see the file COPYING3. If not see 17 # <http://www.gnu.org/licenses/>. 18 19 # This is the linker target specific file. This is invoked by the 20 # autoconf generated configure script. Putting it in a separate shell 21 # file lets us skip running autoconf when modifying target specific 22 # information. 23 24 # This file switches on the shell variable ${targ}, and sets the 25 # following shell variables: 26 # targ_emul name of linker emulation to use 27 # targ_extra_emuls additional linker emulations to provide 28 # targ_extra_libpath additional linker emulations using LIB_PATH 29 # targ_extra_ofiles additional host-compiled objects needed by the emulation 30 # targ64_extra_emuls additional linker emulations to provide if 31 # --enable-64-bit-bfd is given or if host is 64 bit. 32 # targ64_extra_libpath additional linker emulations using LIB_PATH if 33 # --enable-64-bit-bfd is given or if host is 64 bit. 34 # NATIVE_LIB_DIRS library directories to search on this host 35 # (if we are a native or sysrooted linker) 36 37 targ_extra_emuls= 38 targ_extra_libpath= 39 targ_extra_ofiles= 40 targ64_extra_emuls= 41 targ64_extra_libpath= 42 43 # Please try to keep this table in alphabetic order - it makes it 44 # much easier to lookup a specific archictecture. Naturally any 45 # architecture variants should be kept together even if their names 46 # break the alpha sorting. 47 case "${targ}" in 48 aarch64_be-*-elf) targ_emul=aarch64elfb 49 targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b armelfb armelf" ;; 50 aarch64-*-elf | aarch64-*-rtems*) 51 targ_emul=aarch64elf 52 targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb" ;; 53 aarch64-*-cloudabi*) targ_emul=aarch64cloudabi 54 targ_extra_emuls=aarch64cloudabib ;; 55 aarch64-*-freebsd*) targ_emul=aarch64fbsd 56 targ_extra_emuls="aarch64fbsdb aarch64elf" ;; 57 aarch64_be-*-linux*) targ_emul=aarch64linuxb 58 targ_extra_libpath="aarch64linux aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi" 59 targ_extra_emuls="aarch64elfb aarch64elf aarch64elf32 aarch64elf32b armelfb armelf $targ_extra_libpath" ;; 60 aarch64-*-linux*) targ_emul=aarch64linux 61 targ_extra_libpath="aarch64linuxb aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi" 62 targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb $targ_extra_libpath" ;; 63 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) 64 targ_emul=elf64alpha_fbsd 65 targ_extra_emuls="elf64alpha alpha" 66 tdir_alpha=`echo ${targ_alias} | sed -e 's/freebsd/freebsdecoff/'` ;; 67 alpha*-*-linux*ecoff*) targ_emul=alpha targ_extra_emuls=elf64alpha 68 tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'` ;; 69 alpha*-*-linux-*) targ_emul=elf64alpha targ_extra_emuls=alpha 70 tdir_alpha=`echo ${targ_alias} | sed -e 's/linux\(-gnu\)*/linux\1ecoff/'` ;; 71 alpha*-*-osf*) targ_emul=alpha ;; 72 alpha*-*-gnu*) targ_emul=elf64alpha ;; 73 alpha*-*-netware*) targ_emul=alpha ;; 74 alpha*-*-netbsd*) targ_emul=elf64alpha_nbsd ;; 75 alpha*-*-openbsd*) targ_emul=elf64alpha ;; 76 alpha*-*-*vms*) targ_emul=alphavms 77 ;; 78 arc*-*-elf*) targ_emul=arcelf 79 targ_extra_emuls="arcelf_prof arclinux arclinux_prof arcv2elf arcv2elfx" 80 ;; 81 arc*-*-linux*) targ_emul=arclinux 82 targ_extra_emuls="arclinux_prof arcelf arcelf_prof arcv2elf arcv2elfx" 83 ;; 84 arm-epoc-pe) targ_emul=arm_epoc_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; 85 arm*-*-cegcc*) targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" 86 LIB_PATH='${tooldir}/lib/w32api' ;; 87 arm-wince-pe | arm-*-wince | arm*-*-mingw32ce*) 88 targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; 89 arm-*-pe) targ_emul=armpe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; 90 arm-*-aout | armel-*-aout) targ_emul=armaoutl ;; 91 armeb-*-aout) targ_emul=armaoutb ;; 92 arm-*-coff) targ_emul=armcoff ;; 93 arm*b-*-freebsd*) targ_emul=armelfb_fbsd 94 targ_extra_emuls="armelf_fbsd armelf" ;; 95 arm*-*-freebsd* | arm-*-kfreebsd*-gnu) 96 targ_emul=armelf_fbsd 97 targ_extra_emuls="armelfb_fbsd armelf" ;; 98 armeb-*-netbsdelf*) targ_emul=armelfb_nbsd; 99 targ_extra_emuls="armelf_nbsd armelf armnbsd" ;; 100 arm-*-netbsdelf*) targ_emul=armelf_nbsd; 101 targ_extra_emuls="armelfb_nbsd armelf armnbsd" ;; 102 arm-*-netbsd*) targ_emul=armnbsd; 103 targ_extra_emuls="armelf armelf_nbsd armelfb_nbsd" ;; 104 arm-*-nto*) targ_emul=armnto ;; 105 arm-*-openbsd*) targ_emul=armnbsd ;; 106 arm-*-phoenix*) targ_emul=armelf ;; 107 arm-*-rtems*) targ_emul=armelf ;; 108 armeb-*-elf | armeb-*-eabi*) 109 targ_emul=armelfb ;; 110 arm-*-elf | arm*-*-eabi*) 111 targ_emul=armelf ;; 112 arm*-*-symbianelf*) targ_emul=armsymbian;; 113 arm-*-kaos*) targ_emul=armelf ;; 114 arm9e-*-elf) targ_emul=armelf ;; 115 arm*b-*-linux-*eabi*) targ_emul=armelfb_linux_eabi 116 targ_extra_emuls=armelf_linux_eabi 117 targ_extra_libpath=$targ_extra_emuls 118 ;; 119 arm*b-*-linux-*) targ_emul=armelfb_linux 120 targ_extra_emuls="armelfb armelf armelf_linux" 121 targ_extra_libpath="armelf_linux" 122 ;; 123 arm*-*-linux-*eabi*) targ_emul=armelf_linux_eabi 124 targ_extra_emuls=armelfb_linux_eabi 125 targ_extra_libpath=$targ_extra_emuls 126 ;; 127 arm*-*-linux-*) targ_emul=armelf_linux 128 targ_extra_emuls="armelf armelfb armelfb_linux" 129 targ_extra_libpath="armelfb_linux" 130 ;; 131 arm*b-*-nacl*) targ_emul=armelfb_nacl 132 targ_extra_emuls="armelf_nacl elf_i386_nacl" 133 targ_extra_libpath=$targ_extra_emuls 134 targ64_extra_emuls="elf32_x86_64_nacl elf_x86_64_nacl" 135 targ64_extra_libpath=$targ64_extra_emuls 136 ;; 137 arm*-*-nacl*) targ_emul=armelf_nacl 138 targ_extra_emuls="armelfb_nacl elf_i386_nacl" 139 targ_extra_libpath=$targ_extra_emuls 140 targ64_extra_emuls="elf32_x86_64_nacl elf_x86_64_nacl" 141 targ64_extra_libpath=$targ64_extra_emuls 142 ;; 143 arm*-*-uclinux*eabi*) targ_emul=armelf_linux_eabi 144 targ_extra_emuls=armelfb_linux_eabi 145 targ_extra_libpath=$targ_extra_emuls 146 ;; 147 arm*-*-uclinux*) targ_emul=armelf_linux 148 targ_extra_emuls="armelf armelfb armelfb_linux" 149 targ_extra_libpath="armelfb_linux" 150 ;; 151 arm-*-vxworks) targ_emul=armelf_vxworks ;; 152 arm*-*-conix*) targ_emul=armelf ;; 153 avr-*-*) targ_emul=avr2 154 targ_extra_emuls="avr1 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega1 avrxmega2 avrxmega3 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny" 155 ;; 156 bfin-*-elf) targ_emul=elf32bfin; 157 targ_extra_emuls="elf32bfinfd" 158 targ_extra_libpath=$targ_extra_emuls 159 ;; 160 bfin-*-rtems*) targ_emul=elf32bfin; 161 targ_extra_emuls="elf32bfinfd" 162 targ_extra_libpath=$targ_extra_emuls 163 ;; 164 bfin-*-uclinux*) targ_emul=elf32bfin; 165 targ_extra_emuls="elf32bfinfd" 166 targ_extra_libpath=$targ_extra_emuls 167 ;; 168 bfin-*-linux-uclibc*) targ_emul=elf32bfinfd; 169 targ_extra_emuls="elf32bfin" 170 targ_extra_libpath=$targ_extra_emuls 171 ;; 172 cr16-*-elf*) targ_emul=elf32cr16 ;; 173 cr16c-*-elf*) targ_emul=elf32cr16c 174 ;; 175 cris-*-*aout*) targ_emul=crisaout 176 targ_extra_emuls="criself crislinux" 177 targ_extra_libpath=$targ_extra_emuls ;; 178 cris-*-linux-* | crisv32-*-linux-*) 179 targ_emul=crislinux ;; 180 cris-*-* | crisv32-*-*) targ_emul=criself 181 targ_extra_emuls="crisaout crislinux" 182 targ_extra_libpath=$targ_extra_emuls 183 ;; 184 crx-*-elf*) targ_emul=elf32crx 185 ;; 186 d10v-*-*) targ_emul=d10velf ;; 187 d30v-*-*ext*) targ_emul=d30v_e; targ_extra_emuls="d30velf d30v_o" ;; 188 d30v-*-*onchip*) targ_emul=d30v_o; targ_extra_emuls="d30velf d30v_e" ;; 189 d30v-*-*) targ_emul=d30velf; targ_extra_emuls="d30v_e d30v_o" 190 ;; 191 dlx-*-elf*) targ_emul=elf32_dlx 192 ;; 193 epiphany-*-elf) targ_emul=elf32epiphany 194 targ_extra_emuls="elf32epiphany_4x4" 195 ;; 196 fido*-*-elf*) targ_emul=m68kelf ;; 197 fr30-*-*) targ_emul=elf32fr30 198 ;; 199 frv-*-*linux*) targ_emul=elf32frvfd ;; 200 frv-*-*) targ_emul=elf32frv ; targ_extra_emuls="elf32frvfd" 201 ;; 202 moxie-*-moxiebox*) targ_emul=moxiebox 203 ;; 204 moxie-*-*) targ_emul=elf32moxie 205 ;; 206 h8300-*-hms* | h8300-*-coff* | h8300-*-rtemscoff*) 207 targ_emul=h8300; targ_extra_emuls="h8300h h8300s h8300hn h8300sn h8300sx h8300sxn" ;; 208 h8300-*-elf* | h8300-*-rtems*) 209 targ_emul=h8300elf; 210 targ_extra_emuls="h8300helf h8300self h8300hnelf h8300snelf h8300sxelf h8300sxnelf" ;; 211 h8300-*-linux*) 212 targ_emul=h8300elf_linux; 213 targ_extra_emuls="h8300helf_linux h8300self_linux h8300sxelf_linux" ;; 214 h8500-*-hms* | h8500-*-coff* | h8500-*-rtems*) 215 targ_emul=h8500 216 targ_extra_emuls="h8500s h8500b h8500m h8500c" 217 ;; 218 hppa*64*-*-linux-*) targ_emul=hppa64linux ;; 219 hppa*64*-hpux*) targ_emul=elf64hppa ;; 220 hppa*-*-linux-*) targ_emul=hppalinux ;; 221 hppa*-*-*elf*) targ_emul=hppaelf ;; 222 hppa*-*-lites*) targ_emul=hppaelf ;; 223 hppa*-*-netbsd*) targ_emul=hppanbsd ;; 224 hppa*-*-openbsd*) targ_emul=hppaobsd 225 ;; 226 i370-*-elf* | i370-*-linux-*) targ_emul=elf32i370 227 ;; 228 i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;; 229 i[3-7]86-*-vsta) targ_emul=vsta ;; 230 i[3-7]86-*-go32) targ_emul=i386go32 ;; 231 i[3-7]86-*-msdosdjgpp*) targ_emul=i386go32 ;; 232 i[3-7]86-*-aix*) targ_emul=i386coff ;; 233 i[3-7]86-*-sco*) targ_emul=i386coff ;; 234 i[3-7]86-*-isc*) targ_emul=i386coff ;; 235 i[3-7]86-*-lynxos*) targ_emul=i386lynx ;; 236 i[3-7]86-*-coff) targ_emul=i386coff ;; 237 i[3-7]86-*-rtems*) targ_emul=elf_i386 238 targ_extra_emuls=elf_iamcu ;; 239 i[3-7]86-*-aros*) targ_emul=elf_i386 240 targ_extra_emuls=elf_iamcu ;; 241 i[3-7]86-*-rdos*) targ_emul=elf_i386 242 targ_extra_emuls=elf_iamcu ;; 243 x86_64-*-rdos*) targ_emul=elf64rdos ;; 244 x86_64-*-cloudabi*) targ_emul=elf_x86_64_cloudabi ;; 245 i[3-7]86-*-bsd) targ_emul=i386bsd ;; 246 i[3-7]86-*-bsd386) targ_emul=i386bsd ;; 247 i[3-7]86-*-bsdi*) targ_emul=i386bsd ;; 248 i[3-7]86-*-aout) targ_emul=i386aout ;; 249 i[3-7]86-*-linux*aout*) targ_emul=i386linux 250 targ_extra_emuls="elf_i386 elf_iamcu" 251 tdir_elf_iamcu=`echo ${targ_alias} | sed -e 's/aout//'` 252 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` ;; 253 i[3-7]86-*-linux*oldld) targ_emul=i386linux 254 targ_extra_emuls="elf_i386 elf_iamcu" ;; 255 i[3-7]86-*-linux-*) targ_emul=elf_i386 256 targ_extra_emuls="i386linux elf_iamcu" 257 targ64_extra_emuls="elf_x86_64 elf32_x86_64 elf_l1om elf_k1om" 258 targ64_extra_libpath=elf_x86_64 259 targ_extra_libpath=elf32_x86_64 260 tdir_i386linux=${targ_alias}aout ;; 261 x86_64-*-linux-gnux32) targ_emul=elf32_x86_64 262 targ_extra_emuls="elf_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om" 263 targ_extra_libpath="elf_i386 elf_iamcu elf_x86_64 elf_l1om elf_k1om" 264 tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` 265 tdir_elf_iamcu=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` 266 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` ;; 267 x86_64-*-linux-*) targ_emul=elf_x86_64 268 targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om" 269 targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om" 270 tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'` 271 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; 272 i[3-7]86-*-sysv[45]*) targ_emul=elf_i386 273 targ_extra_emuls=elf_iamcu ;; 274 i[3-7]86-*-solaris2*) targ_emul=elf_i386_sol2 275 targ_extra_emuls="elf_i386_ldso elf_i386 elf_iamcu elf_x86_64_sol2 elf_x86_64 elf_l1om elf_k1om" 276 targ_extra_libpath=$targ_extra_emuls 277 ;; 278 x86_64-*-solaris2*) 279 targ_emul=elf_x86_64_sol2 280 targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_iamcu elf_l1om elf_k1om" 281 targ_extra_libpath=$targ_extra_emuls 282 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; 283 i[3-7]86-*-unixware) targ_emul=elf_i386 284 targ_extra_emuls=elf_iamcu ;; 285 i[3-7]86-*-solaris*) targ_emul=elf_i386_ldso 286 targ_extra_emuls="elf_i386" 287 targ_extra_libpath=$targ_extra_emuls 288 ;; 289 i[3-7]86-*-netbsdelf* | \ 290 i[3-7]86-*-netbsd*-gnu* | \ 291 i[3-7]86-*-knetbsd*-gnu) 292 targ_emul=elf_i386 293 targ_extra_emuls="elf_iamcu i386nbsd" ;; 294 i[3-7]86-*-netbsdpe*) targ_emul=i386pe 295 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 296 i[3-7]86-*-netbsd*) targ_emul=i386nbsd 297 targ_extra_emuls=elf_i386 ;; 298 x86_64-*-netbsd*) targ_emul=elf_x86_64 299 targ_extra_emuls="elf_i386 elf_iamcu i386nbsd elf_l1om elf_k1om" 300 tdir_elf_iamcu=`echo ${targ_alias} | \ 301 sed -e 's/x86_64/i386/'` 302 case "${tdir_elf_iamcu}" in 303 *-netbsdelf*) ;; 304 *) tdir_elf_iamcu=`echo ${tdir_elf_iamcu} | \ 305 sed -e 's/netbsd/netbsdelf/'`;; 306 esac 307 tdir_elf_i386=`echo ${targ_alias} | \ 308 sed -e 's/x86_64/i386/'` 309 case "${tdir_elf_i386}" in 310 *-netbsdelf*) ;; 311 *) tdir_elf_i386=`echo ${tdir_elf_i386} | \ 312 sed -e 's/netbsd/netbsdelf/'`;; 313 esac ;; 314 i[3-7]86-*-netware) targ_emul=i386nw ;; 315 i[3-7]86-*-elfiamcu) targ_emul=elf_iamcu 316 targ_extra_emuls=elf_i386 ;; 317 i[3-7]86-*-elf*) targ_emul=elf_i386 318 targ_extra_emuls=elf_iamcu ;; 319 x86_64-*-elf* | x86_64-*-rtems*) 320 targ_emul=elf_x86_64 321 targ_extra_emuls="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" 322 targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" 323 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` 324 ;; 325 i[3-7]86-*-kaos*) targ_emul=elf_i386 ;; 326 i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12]) 327 targ_emul=i386bsd ;; 328 i[3-7]86-*-dragonfly*) targ_emul=elf_i386 329 targ_extra_emuls="elf_iamcu i386bsd" ;; 330 x86_64-*-dragonfly*) targ_emul=elf_x86_64 331 targ_extra_emuls="elf_i386 elf_iamcu elf_l1om elf_k1om" ;; 332 i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu) 333 targ_emul=elf_i386_fbsd 334 targ_extra_emuls="elf_i386 elf_iamcu i386bsd" ;; 335 x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) 336 targ_emul=elf_x86_64_fbsd 337 targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386 elf_iamcu elf_l1om elf_l1om_fbsd elf_k1om elf_k1om_fbsd" 338 targ_extra_libpath="elf_i386_fbsd" 339 tdir_elf_i386_fbsd=`echo ${targ_alias} \ 340 | sed -e 's/x86_64/i386/'` 341 tdir_elf_iamcu=`echo ${targ_alias} \ 342 | sed -e 's/x86_64/i386/'` 343 tdir_elf_i386=`echo ${targ_alias} \ 344 | sed -e 's/x86_64/i386/'` ;; 345 i[3-7]86-*-sysv*) targ_emul=i386coff ;; 346 i[3-7]86-*-ptx*) targ_emul=i386coff ;; 347 i[3-7]86-*-mach*) targ_emul=i386mach ;; 348 i[3-7]86-*-gnu*) targ_emul=elf_i386 349 targ_extra_emuls=elf_iamcu ;; 350 i[3-7]86-*-msdos*) targ_emul=i386msdos; targ_extra_emuls=i386aout ;; 351 i[3-7]86-*-moss*) targ_emul=i386moss; targ_extra_emuls=i386msdos ;; 352 i[3-7]86-*-winnt*) targ_emul=i386pe ; 353 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 354 i[3-7]86-*-pe) targ_emul=i386pe ; 355 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 356 i[3-7]86-*-cygwin*) targ_emul=i386pe ; 357 targ_extra_ofiles="deffilep.o pe-dll.o" ; 358 test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;; 359 i[3-7]86-*-mingw32*) targ_emul=i386pe ; 360 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 361 x86_64-*-pe | x86_64-*-pep) targ_emul=i386pep ; 362 targ_extra_emuls=i386pe ; 363 targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;; 364 x86_64-*-cygwin) targ_emul=i386pep ; 365 targ_extra_emuls=i386pe 366 targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" 367 test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;; 368 x86_64-*-mingw*) targ_emul=i386pep ; 369 targ_extra_emuls=i386pe 370 targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;; 371 i[3-7]86-*-interix*) targ_emul=i386pe_posix; 372 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 373 i[3-7]86-*-beospe*) targ_emul=i386beos ;; 374 i[3-7]86-*-beos*) targ_emul=elf_i386_be ;; 375 i[3-7]86-*-vxworks*) targ_emul=elf_i386_vxworks ;; 376 i[3-7]86-*-chaos) targ_emul=elf_i386_chaos 377 ;; 378 i[3-7]86-*-nacl*) targ_emul=elf_i386_nacl 379 targ_extra_emuls="armelf_nacl armelfb_nacl" 380 targ_extra_libpath=$targ_extra_emuls 381 targ64_extra_emuls="elf32_x86_64_nacl elf_x86_64_nacl" 382 targ64_extra_libpath=$targ64_extra_emuls 383 ;; 384 x86_64-*-nacl*) targ_emul=elf32_x86_64_nacl 385 targ_extra_emuls="elf_i386_nacl elf_x86_64_nacl armelf_nacl armelfb_nacl" 386 targ_extra_libpath=$targ_extra_emuls 387 tdir_elf_i386_nacl=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` 388 ;; 389 i860-*-coff) targ_emul=coff_i860 ;; 390 i860-stardent-sysv4* | i860-stardent-elf*) 391 targ_emul=elf32_i860 392 ;; 393 i960-wrs-vxworks5.0*) targ_emul=gld960 ;; 394 i960-wrs-vxworks5*) targ_emul=gld960coff ;; 395 i960-wrs-vxworks*) targ_emul=gld960 ;; 396 i960-*-coff) targ_emul=gld960coff ;; 397 i960-intel-nindy) targ_emul=gld960 ;; 398 i960-*-rtems*) targ_emul=gld960coff ;; 399 i960-*-elf*) targ_emul=elf32_i960 400 ;; 401 ia64-*-elf*) targ_emul=elf64_ia64 ;; 402 ia64-*-freebsd* | ia64-*-kfreebsd*-gnu) 403 targ_emul=elf64_ia64_fbsd 404 targ_extra_emuls="elf64_ia64" ;; 405 ia64-*-netbsd*) targ_emul=elf64_ia64 ;; 406 ia64-*-linux*) targ_emul=elf64_ia64 ;; 407 ia64-*-*vms*) targ_emul=elf64_ia64_vms ;; 408 ia64-*-aix*) targ_emul=elf64_aix 409 ;; 410 ip2k-*-elf) targ_emul=elf32ip2k 411 ;; 412 iq2000-*-elf) targ_emul=elf32iq2000 ; targ_extra_emuls="elf32iq10" 413 ;; 414 lm32-*-*linux*) targ_emul=elf32lm32fd ;; 415 lm32-*-*) targ_emul=elf32lm32 ; targ_extra_emuls="elf32lm32fd" 416 ;; 417 m32c-*-elf | m32c-*-rtems*) 418 targ_emul=elf32m32c 419 ;; 420 m32r*le-*-elf*) targ_emul=m32rlelf ;; 421 m32r*-*-elf* | m32r*-*-rtems*) 422 targ_emul=m32relf ;; 423 m32r*le-*-linux-*) targ_emul=m32rlelf_linux ;; 424 m32r*-*-linux-*) targ_emul=m32relf_linux 425 ;; 426 m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf 427 targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;; 428 m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf 429 targ_extra_emuls="m68hc12elfb m68hc11elf m68hc11elfb" ;; 430 m68*-sun-sunos[34]*) targ_emul=sun3 ;; 431 m68*-wrs-vxworks*) targ_emul=sun3 ;; 432 m68*-ericsson-ose) targ_emul=sun3 ;; 433 m68*-apple-aux*) targ_emul=m68kaux ;; 434 m68k-sony-*) targ_emul=news ;; 435 m68k-hp-bsd*) targ_emul=hp300bsd ;; 436 m68*-motorola-sysv*) targ_emul=delta68 ;; 437 m68*-*-aout) targ_emul=m68kaout ;; 438 m68*-*-coff) targ_emul=m68kcoff ;; 439 m68*-*-elf) targ_emul=m68kelf ;; 440 m68*-*-hpux*) targ_emul=hp3hpux ;; 441 m68k-*-linux*aout*) targ_emul=m68klinux 442 targ_extra_emuls=m68kelf 443 tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'` ;; 444 m68k-*-linux-*) targ_emul=m68kelf 445 targ_extra_emuls=m68klinux 446 tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'` ;; 447 m68k-*-uclinux*) targ_emul=m68kelf ;; 448 m68*-*-gnu*) targ_emul=m68kelf ;; 449 m68*-*-netbsd*4k*) targ_emul=m68k4knbsd 450 targ_extra_emuls="m68knbsd m68kelfnbsd" ;; 451 m68*-*-netbsdelf*) targ_emul=m68kelfnbsd 452 targ_extra_emuls="m68knbsd m68k4knbsd" ;; 453 m68*-*-netbsdaout* | m68*-*-netbsd*) 454 targ_emul=m68knbsd 455 targ_extra_emuls="m68kelfnbsd m68k4knbsd" ;; 456 m68*-*-psos*) targ_emul=m68kpsos ;; 457 m68*-*-rtemscoff*) targ_emul=m68kcoff ;; 458 m68*-*-rtems*) targ_emul=m68kelf 459 ;; 460 m8*-*-*) targ_emul=m88kbcs 461 ;; 462 mcore-*-pe) targ_emul=mcorepe ; 463 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 464 mcore-*-elf) targ_emul=elf32mcore 465 ;; 466 mep-*-elf) targ_emul=elf32mep ;; 467 metag-*-*) targ_emul=elf32metag ;; 468 microblazeel*-linux*) targ_emul="elf32mbel_linux" 469 targ_extra_emuls="elf32mb_linux" 470 ;; 471 microblaze*-linux*) targ_emul="elf32mb_linux" 472 targ_extra_emuls="elf32mbel_linux" 473 ;; 474 microblazeel*) targ_emul=elf32microblazeel 475 targ_extra_emuls=elf32microblaze 476 ;; 477 microblaze*) targ_emul=elf32microblaze 478 targ_extra_emuls=elf32microblazeel 479 ;; 480 mips*-sgi-irix5*) targ_emul=elf32bsmip ;; 481 mips*-sgi-irix6*) targ_emul=elf32bmipn32 482 targ_extra_emuls="elf32bsmip elf64bmip" 483 targ_extra_libpath=$targ_extra_emuls ;; 484 mips*el-*-netbsd*) targ_emul=elf32ltsmip 485 targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip" 486 ;; 487 mips*-*-netbsd*) targ_emul=elf32btsmip 488 targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip" 489 ;; 490 mips*vr4300el-*-elf*) targ_emul=elf32l4300 ;; 491 mips*vr4300-*-elf*) targ_emul=elf32b4300 ;; 492 mips*vr4100el-*-elf*) targ_emul=elf32l4300 ;; 493 mips*vr4100-*-elf*) targ_emul=elf32b4300 ;; 494 mips*vr5000el-*-elf*) targ_emul=elf32l4300 ;; 495 mips*vr5000-*-elf*) targ_emul=elf32b4300 ;; 496 mips*el-sde-elf* | mips*el-mti-elf* | mips*el-img-elf*) 497 targ_emul=elf32ltsmip 498 targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" ;; 499 mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*) 500 targ_emul=elf32btsmip 501 targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;; 502 mips64*el-ps2-elf*) targ_emul=elf32lr5900n32 503 targ_extra_emuls="elf32lr5900" 504 targ_extra_libpath=$targ_extra_emuls ;; 505 mips*el-ps2-elf*) targ_emul=elf32lr5900 506 targ_extra_emuls="elf32lr5900n32" 507 targ_extra_libpath=$targ_extra_emuls ;; 508 mips*el-*-elf*) targ_emul=elf32elmip ;; 509 mips*-*-elf*) targ_emul=elf32ebmip ;; 510 mips*-*-rtems*) targ_emul=elf32ebmip ;; 511 mips*el-*-vxworks*) targ_emul=elf32elmipvxworks 512 targ_extra_emuls="elf32ebmipvxworks" ;; 513 mips*-*-vxworks*) targ_emul=elf32ebmipvxworks 514 targ_extra_emuls="elf32elmipvxworks" ;; 515 mips*-*-windiss) targ_emul=elf32mipswindiss ;; 516 mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 517 targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" 518 targ_extra_libpath=$targ_extra_emuls ;; 519 mips64*-*-linux-*) targ_emul=elf32btsmipn32 520 targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" 521 targ_extra_libpath=$targ_extra_emuls ;; 522 mips*el-*-linux-*) targ_emul=elf32ltsmip 523 targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" 524 targ_extra_libpath=$targ_extra_emuls ;; 525 mips*-*-linux-*) targ_emul=elf32btsmip 526 targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" 527 targ_extra_libpath=$targ_extra_emuls ;; 528 mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu) 529 targ_emul=elf32ltsmipn32_fbsd 530 targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmip_fbsd elf32btsmip_fbsd elf32btsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd" 531 targ_extra_libpath=$targ_extra_emuls ;; 532 mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu) 533 targ_emul=elf32btsmipn32_fbsd 534 targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmip_fbsd elf32btsmip_fbsd elf32ltsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd" 535 targ_extra_libpath=$targ_extra_emuls ;; 536 mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu) 537 targ_emul=elf32ltsmip_fbsd 538 targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmipn32_fbsd elf32btsmip_fbsd elf32btsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd" 539 targ_extra_libpath=$targ_extra_emuls ;; 540 mips*-*-freebsd* | mips*-*-kfreebsd*-gnu) 541 targ_emul=elf32btsmip_fbsd 542 targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmip_fbsd elf32btsmipn32_fbsd elf32ltsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd" 543 targ_extra_libpath=$targ_extra_emuls ;; 544 mips*-*-sysv4*) targ_emul=elf32btsmip 545 ;; 546 mmix-*-*) targ_emul=mmo 547 targ_extra_emuls=elf64mmix 548 ;; 549 am33_2.0-*-linux*) targ_emul=elf32am33lin ;; 550 mn10200-*-*) targ_emul=mn10200 ;; 551 mn10300-*-*) targ_emul=mn10300 552 ;; 553 mt-*elf) targ_emul=elf32mt 554 ;; 555 msp430-*-*) targ_emul=msp430elf 556 targ_extra_emuls="msp430X" 557 ;; 558 nds32*le-*-elf*) targ_emul=nds32elf 559 targ_extra_emuls="nds32elf16m nds32belf nds32belf16m" 560 ;; 561 nds32*be-*-elf*) targ_emul=nds32belf 562 targ_extra_emuls="nds32elf nds32elf16m nds32belf16m" 563 ;; 564 nds32*le-*-linux-gnu*) targ_emul=nds32elf_linux ;; 565 nds32*be-*-linux-gnu*) targ_emul=nds32belf_linux ;; 566 nios2*-*-linux*) targ_emul=nios2linux ;; 567 nios2*-*-*) targ_emul=nios2elf ;; 568 ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;; 569 ns32k-*-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd 570 ;; 571 or1k-*-elf | or1knd-*-elf) targ_emul=elf32or1k ;; 572 or1k-*-linux* | or1knd-*-linux*) targ_emul=elf32or1k_linux ;; 573 or1k-*-rtems* | or1knd-*-rtems*) targ_emul=elf32or1k 574 ;; 575 pdp11-*-*) targ_emul=pdp11 576 ;; 577 pjl*-*-*) targ_emul=pjlelf 578 targ_extra_emuls="elf_i386 elf_iamcu" ;; 579 pj*-*-*) targ_emul=pjelf 580 ;; 581 powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu) 582 targ_emul=elf32ppc_fbsd 583 targ_extra_emuls="elf32ppc elf32ppcsim" 584 targ_extra_libpath=elf32ppc; 585 tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'` ;; 586 powerpc64-*-freebsd*) 587 targ_emul=elf64ppc_fbsd 588 targ_extra_emuls="elf64ppc elf32ppc_fbsd elf32ppc" 589 targ_extra_libpath="elf32ppc_fbsd elf32ppc" 590 tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'` 591 tdir_elf32ppc_fbsd=$tdir_elf32ppc 592 ;; 593 powerpc-*-vxworks*) 594 targ_emul=elf32ppcvxworks 595 targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" ;; 596 powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \ 597 | powerpc*-*-linux* | powerpc*-*-netbsd* | powerpc*-*-openbsd* \ 598 | powerpc*-*-solaris* | powerpc*-*-kaos* | powerpc*-*-vxworks*) 599 case "${targ}" in 600 *64*) targ_emul=elf64ppc 601 targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" 602 targ_extra_libpath="elf32ppc elf32ppclinux" 603 td=tdir_elf32ppc 604 case "${targ}" in 605 powerpc*le-*) td=tdir_elf32lppc;; 606 esac 607 eval ${td}=`echo "${targ_alias}" | sed -e 's/64//'` 608 eval ${td}linux=\$${td} 609 eval ${td}sim=\$${td} 610 ;; 611 *linux*) targ_emul=elf32ppclinux 612 targ_extra_emuls="elf32ppc elf32ppcsim" 613 targ_extra_libpath=elf32ppc 614 targ64_extra_emuls=elf64ppc 615 targ64_extra_libpath=elf64ppc 616 ;; 617 *) targ_emul=elf32ppc 618 targ_extra_emuls="elf32ppclinux elf32ppcsim" 619 targ_extra_libpath=elf32ppclinux 620 targ64_extra_emuls=elf64ppc 621 targ64_extra_libpath=elf64ppc 622 ;; 623 esac 624 case "${targ}" in 625 powerpc*le-*) 626 # PR 19985: Include big endian emulations. 627 for z in targ_extra_emuls targ_extra_libpath targ64_extra_emuls targ64_extra_libpath 628 do 629 eval ${z}=\"\$${z} `eval echo \\$${z} | sed -e 's/ppc/lppc/g'`\" 630 done 631 targ_extra_emuls="$targ_extra_emuls $targ_emul" 632 eval targ_emul=\"`eval echo \\$targ_emul | sed -e 's/ppc/lppc/g'`\" 633 esac ;; 634 powerpc-*-nto*) targ_emul=elf32ppcnto ;; 635 powerpcle-*-nto*) targ_emul=elf32lppcnto ;; 636 powerpc-*-rtems*) targ_emul=elf32ppc ;; 637 powerpc-*-macos*) targ_emul=ppcmacos ;; 638 powerpc-*-netware*) targ_emul=ppcnw ;; 639 powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*) 640 targ_emul=ppcpe 641 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 642 powerpc-*-aix[5-9]*) targ_emul=aix5ppc ;; 643 powerpc-*-aix*) targ_emul=aixppc ;; 644 powerpc-*-beos*) targ_emul=aixppc ;; 645 powerpc-*-windiss*) targ_emul=elf32ppcwindiss ;; 646 powerpc-*-lynxos*) targ_emul=ppclynx ;; 647 rs6000-*-aix[5-9]*) targ_emul=aix5rs6 ;; 648 rs6000-*-aix*) targ_emul=aixrs6 649 ;; 650 rl78-*-*) targ_emul=elf32rl78 ;; 651 rx-*-*) targ_emul=elf32rx ;; 652 s390x-*-linux*) targ_emul=elf64_s390 653 targ_extra_emuls=elf_s390 654 targ_extra_libpath=$targ_extra_emuls 655 tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; 656 s390x-*-tpf*) targ_emul=elf64_s390 657 tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; 658 s390-*-linux*) targ_emul=elf_s390 659 targ64_extra_emuls=elf64_s390 660 targ64_extra_libpath=elf64_s390 661 tdir_elf64_s390=`echo ${targ_alias} | sed -e 's/s390/s390x/'` 662 ;; 663 score-*-elf) targ_emul=score7_elf 664 targ_extra_emuls=score3_elf ;; 665 sh-*-linux*) targ_emul=shlelf_linux 666 targ_extra_emuls="shelf_linux shlelf_fd shelf_fd" 667 targ_extra_libpath=shelf_linux ;; 668 sh64eb-*-linux*) targ_emul=shelf32_linux 669 targ_extra_emuls="shlelf32_linux" ;; 670 sh64-*-linux*) targ_emul=shlelf32_linux 671 targ_extra_emuls="shelf32_linux" 672 targ_extra_libpath=shelf32_linux ;; 673 sh*eb-*-linux*) targ_emul=shelf_linux 674 targ_extra_emuls="shelf_fd" ;; 675 sh*-*-linux*) targ_emul=shlelf_linux 676 targ_extra_emuls="shlelf_fd" ;; 677 sh5le-*-netbsd*) targ_emul=shlelf32_nbsd 678 targ_extra_emuls="shelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd" ;; 679 sh5-*-netbsd*) targ_emul=shelf32_nbsd 680 targ_extra_emuls="shlelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd" ;; 681 sh64le-*-netbsd*) targ_emul=shlelf64_nbsd 682 targ_extra_emuls="shelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd" ;; 683 sh64-*-netbsd*) targ_emul=shelf64_nbsd 684 targ_extra_emuls="shlelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd" ;; 685 sh*l*-*-netbsdelf*) targ_emul=shlelf_nbsd 686 targ_extra_emuls=shelf_nbsd ;; 687 sh*-*-netbsdelf*) targ_emul=shelf_nbsd 688 targ_extra_emuls=shlelf_nbsd ;; 689 sh*-*-symbianelf*) targ_emul=shlsymbian ;; 690 shle*-*-elf* | sh[1234]*le*-*-elf | shle*-*-kaos*) 691 targ_emul=shlelf 692 targ_extra_emuls="shelf shl sh" ;; 693 sh-*-rtemscoff*) targ_emul=sh; targ_extra_emuls=shl ;; 694 sh-*-elf* | sh[1234]*-*-elf | sh-*-rtems* | sh-*-kaos*) 695 targ_emul=shelf 696 targ_extra_emuls="shlelf sh shl" ;; 697 sh-*-uclinux* | sh[12]-*-uclinux*) 698 targ_emul=shelf_uclinux 699 targ_extra_emuls="shelf shlelf sh shl shelf_fd shlelf_fd" ;; 700 sh-*-vxworks) targ_emul=shelf_vxworks 701 targ_extra_emuls=shlelf_vxworks ;; 702 sh-*-nto*) targ_emul=shelf_nto 703 targ_extra_emuls=shlelf_nto ;; 704 sh-*-pe) targ_emul=shpe ; 705 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 706 sh-*-*) targ_emul=sh; targ_extra_emuls=shl ;; 707 sh64le-*-elf*) targ_emul=shlelf 708 targ_extra_emuls="shelf shlelf32 shelf32 shlelf64 shelf64" 709 targ_extra_libpath=$targ_extra_emuls ;; 710 sh64-*-elf*) targ_emul=shelf 711 targ_extra_emuls="shlelf shelf32 shlelf32 shelf64 shlelf64" 712 targ_extra_libpath=$targ_extra_emuls ;; 713 sparc64-*-aout*) targ_emul=sparcaout ;; 714 sparc64-*-elf*) targ_emul=elf64_sparc ;; 715 sparc64-*-rtems*) targ_emul=elf64_sparc ;; 716 sparc-sun-sunos4*) targ_emul=sun4 ;; 717 sparclite*-*-elf) targ_emul=elf32_sparc ;; 718 sparclite*-*-coff) targ_emul=coff_sparc ;; 719 sparclite*-fujitsu-*) targ_emul=sparcaout ;; 720 sparc*-*-aout) targ_emul=sparcaout ;; 721 sparc*-*-coff) targ_emul=coff_sparc ;; 722 sparc*-*-elf) targ_emul=elf32_sparc ;; 723 sparc*-*-sysv4*) targ_emul=elf32_sparc ;; 724 sparc*-*-vxworks*) targ_emul=elf32_sparc_vxworks ;; 725 sparc64-*-freebsd* | sparcv9-*-freebsd* | sparc64-*-kfreebsd*-gnu | sparcv9-*-kfreebsd*-gnu) 726 targ_emul=elf64_sparc_fbsd 727 targ_extra_emuls="elf64_sparc elf32_sparc" 728 targ_extra_libpath=$targ_extra_emuls 729 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;; 730 sparc*-*-linux*aout*) targ_emul=sparclinux 731 targ_extra_emuls="elf32_sparc sun4" 732 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'` 733 tdir_sun4=sparc-sun-sunos4 ;; 734 sparc64-*-linux-*) targ_emul=elf64_sparc 735 targ_extra_emuls="elf32_sparc sparclinux sun4" 736 targ_extra_libpath=elf32_sparc 737 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` 738 tdir_sparclinux=${tdir_elf32_sparc}aout 739 tdir_sun4=sparc-sun-sunos4 ;; 740 sparc*-*-linux-*) targ_emul=elf32_sparc 741 targ_extra_emuls="sparclinux elf64_sparc sun4" 742 targ_extra_libpath=elf64_sparc 743 tdir_sparclinux=${targ_alias}aout 744 tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'` 745 tdir_sun4=sparc-sun-sunos4 ;; 746 sparc64-*-netbsd* | sparc64-*-openbsd*) 747 targ_emul=elf64_sparc 748 targ_extra_emuls="elf32_sparc" ;; 749 sparc*-*-netbsd*elf*) targ_emul=elf32_sparc ;; 750 sparc*-*-netbsd*) targ_emul=sparcnbsd ;; 751 sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) 752 targ_emul=elf32_sparc_sol2 753 targ_extra_emuls=elf32_sparc ;; 754 sparc-*-solaris2*) targ_emul=elf32_sparc_sol2 755 targ_extra_emuls="elf32_sparc elf64_sparc_sol2 elf64_sparc" 756 targ_extra_libpath=$targ_extra_emuls 757 tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'` ;; 758 sparcv9-*-solaris2* | sparc64-*-solaris2*) 759 targ_emul=elf64_sparc_sol2 760 targ_extra_emuls="elf64_sparc elf32_sparc_sol2 elf32_sparc" 761 targ_extra_libpath=$targ_extra_emuls 762 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;; 763 sparc*-*-solaris2*) targ_emul=elf32_sparc ;; 764 sparc*-wrs-vxworks*) targ_emul=sparcaout ;; 765 sparc-*-rtems*) targ_emul=elf32_sparc 766 ;; 767 spu-*-elf*) targ_emul=elf32_spu ;; 768 tic30-*-*aout*) targ_emul=tic30aout ;; 769 tic30-*-*coff*) targ_emul=tic30coff ;; 770 tic4x-*-* | c4x-*-*) targ_emul=tic4xcoff ; targ_extra_emuls="tic3xcoff tic3xcoff_onchip" ;; 771 tic54x-*-* | c54x*-*-*) targ_emul=tic54xcoff ;; 772 tic6x-*-elf) targ_emul=elf32_tic6x_elf_le 773 targ_extra_emuls="elf32_tic6x_elf_be elf32_tic6x_le elf32_tic6x_be" 774 targ_extra_libpath=$targ_extra_emuls 775 ;; 776 tic6x-*-uclinux) targ_emul=elf32_tic6x_linux_le 777 targ_extra_emuls="elf32_tic6x_linux_be elf32_tic6x_le elf32_tic6x_be" 778 targ_extra_libpath=$targ_extra_emuls 779 ;; 780 tic80-*-*) targ_emul=tic80coff 781 ;; 782 tilegx-*-*) targ_emul=elf64tilegx 783 targ_extra_emuls="elf64tilegx_be elf32tilegx elf32tilegx_be" 784 targ_extra_libpath=$targ_extra_emuls ;; 785 tilegxbe-*-*) targ_emul=elf64tilegx_be 786 targ_extra_emuls="elf64tilegx elf32tilegx elf32tilegx_be" 787 targ_extra_libpath=$targ_extra_emuls ;; 788 tilepro-*-*) targ_emul=elf32tilepro ;; 789 ft32-*-*) targ_emul=elf32ft32 790 ;; 791 v850*-*-*) targ_emul=v850_rh850 792 targ_extra_emuls=v850 793 ;; 794 vax-dec-ultrix* | vax-dec-bsd*) targ_emul=vax ;; 795 vax-*-netbsdelf*) targ_emul=elf32vax 796 targ_extra_emuls=vaxnbsd ;; 797 vax-*-netbsdaout* | vax-*-netbsd*) 798 targ_emul=vaxnbsd 799 targ_extra_emuls=elf32vax ;; 800 vax-*-linux-*) targ_emul=elf32vax 801 ;; 802 visium-*-elf) targ_emul=elf32visium 803 ;; 804 w65-*-*) targ_emul=w65 805 ;; 806 xc16x-*-elf) targ_emul=elf32xc16x 807 targ_extra_emuls="elf32xc16xl elf32xc16xs" 808 ;; 809 xstormy16-*-*) targ_emul=elf32xstormy16 810 ;; 811 xtensa*-*-*) targ_emul=elf32xtensa 812 ;; 813 xgate-*-*) targ_emul=xgateelf 814 ;; 815 z80-*-coff) targ_emul=z80 816 ;; 817 z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 818 ;; 819 *-*-ieee*) targ_emul=vanilla 820 ;; 821 *-tandem-none) targ_emul=st2000 822 ;; 823 *) 824 echo 2>&1 "*** ld does not support target ${targ}" 825 echo 2>&1 "*** see ld/configure.tgt for supported targets" 826 exit 1 827 828 esac 829 830 NATIVE_LIB_DIRS='/usr/local/lib /lib /usr/lib' 831 case "${target}" in 832 833 *-*-dragonfly*) 834 NATIVE_LIB_DIRS='/lib /usr/lib /usr/pkg/lib /usr/local/lib' 835 ;; 836 837 *-*-freebsd*) 838 NATIVE_LIB_DIRS='/lib /usr/lib /usr/local/lib' 839 ;; 840 841 hppa*64*-*-hpux11*) 842 NATIVE_LIB_DIRS=/usr/lib/pa20_64 843 ;; 844 845 i[3-7]86-*-sysv4*) 846 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' 847 ;; 848 849 i[3-7]86-*-solaris*) 850 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' 851 ;; 852 853 i[3-7]86-pc-interix*) 854 NATIVE_LIB_DIRS='/usr/local/lib $$INTERIX_ROOT/usr/lib /lib /usr/lib' 855 ;; 856 857 ia64-*-aix*) 858 NATIVE_LIB_DIRS='/usr/local/lib /usr/lib/ia64l64 /lib /usr/lib' 859 ;; 860 861 sparc*-*-solaris2*) 862 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' 863 ;; 864 865 spu-*-elf*) 866 # This allows to build a pair of PPU/SPU toolchains with common sysroot. 867 NATIVE_LIB_DIRS='/lib' 868 ;; 869 870 i[03-9x]86-*-cygwin* | x86_64-*-cygwin*) 871 NATIVE_LIB_DIRS='/usr/lib /usr/lib/w32api' 872 ;; 873 874 *-*-linux*) 875 ;; 876 877 *-*-netbsd*) 878 ;; 879 880 alpha*-*-*) 881 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' 882 ;; 883 884 esac 885 886 case "${target}" in 887 frv-*-* | hppa*-*-* | ia64-*-* | mips*-*-*) 888 # Don't enable -z relro by default since many relro tests fail on these 889 # targets: 890 # FAIL: strip -z relro (relro1) 891 # FAIL: strip -z relro -shared (relro1) 892 # FAIL: objcopy -z relro (relro1) 893 # FAIL: objcopy -z relro -shared (relro1) 894 # FAIL: objcopy -z relro (tdata1) 895 # FAIL: objcopy -shared -z relro (tdata1) 896 # FAIL: objcopy -z relro (tdata2) 897 # FAIL: objcopy -shared -z relro (tdata2) 898 # FAIL: objcopy -z relro (tdata3) 899 # FAIL: objcopy -shared -z relro (tdata3) 900 # FAIL: objcopy -shared -z relro (tbss1) 901 # FAIL: objcopy -shared -z relro (tbss2) 902 # FAIL: objcopy -shared -z relro (tbss3) 903 ;; 904 *-*-linux*) 905 if test ${ac_default_ld_z_relro} = unset; then 906 ac_default_ld_z_relro=1 907 fi 908 ;; 909 esac 910