NAME=ELF: long symbol names
FILE=../bins/elf/analysis/longsym
EXPECT=<<EOF
194
EOF
CMDS=<<EOF
?lq `isq~pata`;?vi
EOF
RUN

NAME=ELF: simple.elf - code
FILE=../bins/elf/analysis/simple.elf
EXPECT=<<EOF
0x08000060   section..text:
0x08000060           b990000008  mov ecx, 0x8000090
0x08000065           ba0d000000  mov edx, 0xd
0x0800006a           bb01000000  mov ebx, 1
0x0800006f           b804000000  mov eax, 4
EOF
CMDS=<<EOF
e asm.filter=false
pid 4 @ entry0
EOF
RUN

NAME=ELF: asm.flags.middle=0 + local symbols
FILE=../bins/elf/analysis/example.elf
EXPECT=<<EOF
        :   0x00000356      00f033f9       bl sym.app_uart_get
        :   0x0000035a      0028           cmp r0, 0
        `=< 0x0000035c      fad1           bne 0x354
EOF
CMDS=<<EOF
e asm.flags.middle=0;pd 3 @ 0x356
EOF
RUN

NAME=ELF: asm.flags.middle=1 + local symbols
FILE=../bins/elf/analysis/example.elf
EXPECT=<<EOF
        :   0x00000356      00f033f9       bl sym.app_uart_get
        :   0x0000035a      0028           cmp r0, 0
        `=< 0x0000035c      fad1           bne 0x354
EOF
CMDS=<<EOF
e asm.flags.middle=1;pd 3 @ 0x356
EOF
RUN

NAME=ELF: asm.flags.middle + local symbols
FILE=../bins/elf/analysis/example.elf
EXPECT=<<EOF
        :   0x00000356      00f033f9       bl sym.app_uart_get
        :   0x0000035a      0028           cmp r0, 0
        `=< 0x0000035c      fad1           bne 0x354
EOF
CMDS=<<EOF
pd 3 @ 0x356
EOF
RUN

NAME=ELF: asm.flags.middle2 + local symbols
FILE=../bins/elf/analysis/example.elf
EXPECT=<<EOF
        :   0x00000356      00f033f9       bl sym.app_uart_get
        :   0x0000035a      0028           cmp r0, 0
        `=< 0x0000035c      fad1           bne 0x354
EOF
CMDS=<<EOF
e asm.flags.middle=0
pd 3 @ 0x356
EOF
RUN

NAME=ELF: local symbols
FILE=../bins/elf/analysis/example.elf
EXPECT=''
CMDS=<<EOF
is*~d_41
EOF
RUN

NAME=ELF: phdr override
FILE=../bins/elf/analysis/phdr-override
EXPECT=<<CMDS
printf
__libc_start_main
__gmon_start__
CMDS=iiq
RUN

NAME=ELF: phdr override 2
FILE=../bins/elf/busybox-phdr-shdr
EXPECT=<<CMDS
7   0x00000000 GLOBAL OBJ  __environ
43  0x00000000 GLOBAL OBJ  __ctype_tolower
145 0x00000000 GLOBAL OBJ  __stdout
189 0x00000000 GLOBAL OBJ  stderr
409 0x00000000 GLOBAL OBJ  stdin
410 0x00000000 GLOBAL OBJ  __stdin
417 0x00000000 GLOBAL OBJ  optind
468 0x00000000 GLOBAL OBJ  environ
588 0x00000000 GLOBAL OBJ  optarg
667 0x00000000 GLOBAL OBJ  __ctype_b
706 0x00000000 GLOBAL OBJ  allCountryList
718 0x00000000 GLOBAL OBJ  stdout
CMDS=ii~OBJ
RUN

NAME=ELF: no symbol overwrite
FILE=../bins/elf/libc.so.6
CMDS=<<EXPECT
is~getpid
f~getpid
EXPECT=<<RUN
581   0x000c9420 0x000c9420 WEAK   FUNC   12    getpid
965   0x000c9420 0x000c9420 GLOBAL FUNC   12    __getpid
3577  0x000c9420 0x000c9420 LOCAL  FUNC   12    __GI___getpid
3807  0x000c9420 0x000c9420 LOCAL  FUNC   12    __GI_getpid
0x000c9420 12 sym.getpid
0x000c9420 12 sym.__getpid
0x000c9420 12 sym.__GI___getpid
0x000c9420 12 sym.__GI_getpid
RUN
