pj*) cpu_type=pj endian=big ;;
powerpc*le*) cpu_type=ppc endian=little ;;
powerpc*) cpu_type=ppc endian=big ;;
+ riscv64be*) cpu_type=riscv endian=big arch=riscv64 ;;
riscv64*) cpu_type=riscv endian=little arch=riscv64 ;;
+ riscv32be*|riscvbe*) cpu_type=riscv endian=big arch=riscv32 ;;
riscv32* | riscv*) cpu_type=riscv endian=little arch=riscv32 ;;
rs6000*) cpu_type=ppc ;;
rl78*) cpu_type=rl78 ;;
case ${generic_target} in
aarch64*-*-elf*) fmt=elf;;
aarch64*-*-fuchsia*) fmt=elf;;
+ aarch64*-*-haiku*) fmt=elf em=haiku ;;
+ aarch64*-*-genode*) fmt=elf;;
aarch64*-*-linux*) fmt=elf em=linux
case ${cpu}-${os} in
aarch64*-linux-gnu_ilp32) arch=aarch64:32 ;;
arm-*-phoenix*) fmt=elf ;;
arm-*-elf) fmt=elf ;;
- arm-*-eabi* | arm-*-rtems*) fmt=elf em=armeabi ;;
- arm-*-symbianelf*) fmt=elf em=symbian ;;
+ arm-*-eabi* | arm-*-rtems* | arm-*-genode*) fmt=elf em=armeabi ;;
arm-*-kaos*) fmt=elf ;;
arm-*-conix*) fmt=elf ;;
arm-*-freebsd[89].* | armeb-*-freebsd[89].*)
arm-*-uclinux*eabi*) fmt=elf em=armlinuxeabi ;;
arm-*-uclinux*) fmt=elf em=linux ;;
arm-*-nacl*) fmt=elf em=nacl ;;
- arm-*-netbsdelf*) fmt=elf em=nbsd ;;
+ arm-*-netbsd*) fmt=elf em=nbsd ;;
arm-*-nto*) fmt=elf ;;
arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
fmt=coff em=wince-pe ;;
arm-*-pe) fmt=coff em=pe ;;
arm-*-fuchsia*) fmt=elf ;;
+ arm-*-haiku*) fmt=elf em=haiku ;;
avr-*-*) fmt=elf bfd_gas=yes ;;
i386-*-elfiamcu) fmt=elf arch=iamcu ;;
i386-*-elf*) fmt=elf ;;
i386-*-fuchsia*) fmt=elf ;;
+ i386-*-haiku*) fmt=elf em=haiku ;;
+ i386-*-genode*) fmt=elf ;;
i386-*-bsd*) fmt=aout em=386bsd ;;
- i386-*-netbsdpe*) fmt=coff em=pe ;;
i386-*-netbsd*-gnu* | \
i386-*-knetbsd*-gnu | \
i386-*-netbsd* | \
m68k-*-linux-*) fmt=elf em=linux ;;
m68k-*-uclinux*) fmt=elf em=uclinux ;;
m68k-*-gnu*) fmt=elf ;;
- m68k-*-netbsdelf*) fmt=elf em=nbsd ;;
+ m68k-*-netbsd*) fmt=elf em=nbsd ;;
+ m68k-*-haiku*) fmt=elf em=haiku ;;
s12z-*-*) fmt=elf ;;
mips-*-sysv4* | mips-*-gnu*) fmt=elf em=tmips ;;
mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
fmt=elf em=tmips ;;
+ mips-*-haiku*) fmt=elf em=haiku ;;
mips-*-elf*) fmt=elf ;;
mips-*-netbsd*) fmt=elf em=tmips ;;
mips-*-openbsd*) fmt=elf em=tmips ;;
ppc-*-beos*) fmt=coff ;;
ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
+ ppc-*-haiku*) fmt=elf em=haiku ;;
ppc-*-linux-*) fmt=elf em=linux ;;
ppc-*-solaris*) fmt=elf em=solaris ;;
ppc-*-macos*) fmt=coff em=macos ;;
pru-*-*) fmt=elf ;;
- riscv*-*-*) fmt=elf endian=little ;;
+ riscv*-*-haiku*) fmt=elf endian=little em=haiku ;;
+ riscv*-*-*) fmt=elf ;;
rx-*-linux*) fmt=elf em=linux ;;
sh*eb) endian=big ;;
*) endian=little ;;
esac ;;
- sh*-*-netbsdelf*) fmt=elf em=nbsd
+ sh*-*-netbsd*) fmt=elf em=nbsd
case ${cpu} in
sh*l*) endian=little ;;
*) endian=big ;;
sh-*-kaos*) fmt=elf ;;
shle*-*-kaos*) fmt=elf ;;
+ sparc-*-haiku*) fmt=elf em=haiku ;;
sparc-*-linux-*) fmt=elf em=linux ;;
sparc-*-solaris*) fmt=elf em=solaris ;;
sparc-*-freebsd*) fmt=elf em=freebsd ;;
v850*-*-*) fmt=elf ;;
- vax-*-netbsdelf*) fmt=elf em=nbsd ;;
+ vax-*-netbsdaout) fmt=aout em=nbsd ;;
+ vax-*-netbsd*) fmt=elf em=nbsd ;;
vax-*-linux-*) fmt=elf em=linux ;;
visium-*-elf) fmt=elf ;;