NAME=MAIN_ABI : arm-linux_android_abi detect
FILE=bins/abi_bins/elf/platforms/arm-linux-androideabi-echo
CMDS=<<EOF
ieI~arch,machine,bits,vaddr
EOF
EXPECT=<<EOF
vaddr=0x00008440 paddr=0x00000440 haddr=0x00000018 hvaddr=0x00008018 type=program
arch     arm
bits     32
machine  ARM
EOF
RUN

NAME=MAIN_ABI : arm-linux_gnu_guneabi detect
FILE=bins/abi_bins/elf/platforms/arm-linux-gnueabi-echo
CMDS=<<EOF
ieI~arch,machine,bits,vaddr
EOF
EXPECT=<<EOF
vaddr=0x00008438 paddr=0x00000438 haddr=0x00000018 hvaddr=0x00008018 type=program
arch     arm
bits     32
machine  ARM
EOF
RUN

NAME=MAIN_ABI : mips-linux-gnu-echo detect
FILE=bins/abi_bins/elf/platforms/mips-linux-gnu-echo
CMDS=<<EOF
ieI~arch,machine,bits,vaddr
EOF
EXPECT=<<EOF
vaddr=0x004006a0 paddr=0x000006a0 haddr=0x00000018 hvaddr=0x00400018 type=program
arch     mips
bits     32
machine  MIPS R3000
EOF
RUN

NAME=MAIN_ABI : mips64-linux-gnueabi detect
FILE=bins/abi_bins/elf/platforms/mips64-linux-gnueabi-echo
CMDS=<<EOF
ieI~arch,machine,bits,vaddr
EOF
EXPECT=<<EOF
vaddr=0x120000af0 paddr=0x00000af0 haddr=0x00000018 hvaddr=0x120000018 type=program
arch     mips
bits     64
machine  MIPS R3000
EOF
RUN

NAME=MAIN_ABI : powerpc-linux-gnu detect
FILE=bins/abi_bins/elf/platforms/powerpc-linux-gnu-symexec-guess
CMDS=<<EOF
ieI~arch,machine,bits,vaddr
EOF
EXPECT=<<EOF
vaddr=0x10000320 paddr=0x00000320 haddr=0x00000018 hvaddr=0x10000018 type=program
arch     ppc
bits     32
machine  PowerPC
EOF
RUN

NAME=MAIN_ABI : powerpc32-linux-gnu detect
FILE=bins/abi_bins/elf/platforms/powerpc32-linux-gnu-echo
CMDS=<<EOF
ieI~arch,machine,bits,vaddr
EOF
EXPECT=<<EOF
vaddr=0x10000420 paddr=0x00000420 haddr=0x00000018 hvaddr=0x10000018 type=program
arch     ppc
bits     32
machine  PowerPC
EOF
RUN

NAME=MAIN_ABI : x86_64-linux-gnu detect
FILE=bins/abi_bins/elf/platforms/x86_64-linux-gnu-echo
CMDS=<<EOF
ieI~arch,machine,bits,vaddr
EOF
EXPECT=<<EOF
vaddr=0x00400600 paddr=0x00000600 haddr=0x00000018 hvaddr=0x00400018 type=program
arch     x86
bits     64
machine  AMD x86-64 architecture
EOF
RUN

NAME=MAIN_ABI : x86_64-macho detect
FILE=bins/abi_bins/elf/platforms/x86_64-macho-echo
CMDS=<<EOF
ieI~arch,machine,bits,vaddr
EOF
EXPECT=<<EOF
vaddr=0x100000e50 paddr=0x00000e50 haddr=0x000004b8 type=program
arch     x86
bits     64
machine  x86 64 all
EOF
RUN

NAME=MAIN_ABI : x86-linux-gnu detect
FILE=bins/abi_bins/elf/platforms/x86-linux-gnu-echo
CMDS=<<EOF
ieI~arch,machine,bits,vaddr
EOF
EXPECT=<<EOF
vaddr=0x08048440 paddr=0x00000440 haddr=0x00000018 hvaddr=0x08048018 type=program
arch     x86
bits     32
machine  Intel 80386
EOF
RUN

NAME=MAIN_ABI : i686-w64-mingw32 detect
FILE=bins/abi_bins/pe/platforms/i686-w64-mingw32-echo
CMDS=<<EOF
ieI~arch,machine,bits,vaddr
EOF
EXPECT=<<EOF
vaddr=0x004014e0 paddr=0x000008e0 haddr=0x000000a8 type=program
arch     x86
bits     32
machine  i386
EOF
RUN

NAME=MAIN_ABI : x86_64-w64-mingw32 detect
FILE=bins/abi_bins/pe/platforms/x86_64-w64-mingw32-echo
CMDS=<<EOF
ieI~arch,machine,bits,vaddr
EOF
EXPECT=<<EOF
vaddr=0x004014d0 paddr=0x00000ad0 haddr=0x000000a8 type=program
arch     x86
bits     64
machine  AMD 64
EOF
RUN