NAME=disass_Linux_sparc
FILE=bins/elf/elf-Linux-SparcV8-bash
CMDS=pi 10 @ entry0
EXPECT=<<EOF
mov g0, fp
sub sp, 0x18, sp
ld [sp+0x58], o1
add sp, 0x5c, o2
sethi 0xaf, o0
sethi 0x30b, o3
sethi 0x30b, o4
or o0, 0xa0, o0
or o3, 0x80, o3
or o4, 0x60, o4
EOF
RUN

NAME=disass_Solaris_sparc
FILE=bins/elf/elf-solaris-sparc-ls
CMDS=pi 10 @ entry0
EXPECT=<<EOF
mov 0, fp
ld [sp+0x40], l0
add sp, 0x44, l1
sub sp, 0x20, sp
orcc g0, g1, g0
be loc..nope
mov g1, o0
call atexit
nop
sethi 0xb0, o0
EOF
RUN

NAME=print sparc disassembly ld
FILE=bins/elf/elf-Linux-SparcV8-bash
CMDS=<<EOF
pad d0006354
pad bc100000
pad 9c23a018
pad 9403a05c
pad 110000af
EOF
EXPECT=<<EOF
ld [g1+0x354], o0
mov g0, fp
sub sp, 0x18, sp
add sp, 0x5c, o2
sethi 0xaf, o0
EOF
RUN

NAME=cyclomatic sparc
FILE=bins/elf/elf-Linux-SparcV8-bash
CMDS=<<EOF
s main
af
afi~complex[1]
afb.@main
EOF
EXPECT=<<EOF
167
0x0002bca0 0x0002bccc 00:0000 44 j 0x0002c534 f 0x0002bccc
EOF
RUN

NAME=afb sparc
FILE=bins/elf/elf-Linux-SparcV8-bash
CMDS=<<EOF
e asm.var.summary=0
s sym.zwrite
af
afb
?e
pdf
EOF
EXPECT=<<EOF
0x000a0d80 0x000a0d94 00:0000 20 j 0x000a0d94
0x000a0d94 0x000a0d98 00:0000 4 j 0x000a0d98
0x000a0d98 0x000a0db0 00:0000 24 j 0x000a0dc8 f 0x000a0db0
0x000a0db0 0x000a0dc0 00:0000 16 j 0x000a0d94 f 0x000a0dc0
0x000a0dc0 0x000a0dc8 00:0000 8
0x000a0dc8 0x000a0dd0 00:0000 8 j 0x000a0dec f 0x000a0dd0
0x000a0dd0 0x000a0de0 00:0000 16 j 0x000a0d98 f 0x000a0de0
0x000a0de0 0x000a0dec 00:0000 12
0x000a0dec 0x000a0e04 00:0000 24 j 0x000a0d98 f 0x000a0e04
0x000a0e04 0x000a0e0c 00:0000 8

/ 140: sym.zwrite (int fd, const char *ptr, size_t nbytes);
|           ; arg int fd @ i0
|           ; arg const char *ptr @ i1
|           ; arg size_t nbytes @ i2
|           0x000a0d80      9de3bfa0       save sp, -0x60, sp
|           0x000a0d84      a0100018       mov i0, l0
|           0x000a0d88      a210001a       mov i2, l1
|           0x000a0d8c      b010001a       mov i2, i0
|           0x000a0d90      a4102000       mov 0, l2
|       .-> 0x000a0d94      92100019       mov i1, o1
|     ..--> 0x000a0d98      94100011       mov l1, o2
|     :::   0x000a0d9c      40012d10       call sym.imp.write          ; ssize_t write(int fd, const char *ptr, size_t nbytes)
|     :::   0x000a0da0      90100010       mov l0, o0
|     :::   0x000a0da4      80a22000       cmp o0, 0
|    ,====< 0x000a0da8      04400008       ble,pn icc, 0xa0dc8
|    |:::   0x000a0dac      01000000       nop
|    |:::   0x000a0db0      a2244008       sub l1, o0, l1
|    |:::   0x000a0db4      80a46000       cmp l1, 0
|    |::`=< 0x000a0db8      144ffff7       bg icc, 0xa0d94
|    |::    0x000a0dbc      b2064008       add i1, o0, i1
|    |::    0x000a0dc0      81cfe008       rett i7+8
|    |::    0x000a0dc4      01000000       nop
|    `--,=< 0x000a0dc8      12400009       bne,pn icc, 0xa0dec
|     ::|   0x000a0dcc      01000000       nop
|     ::|   0x000a0dd0      a404a001       add l2, 1, l2
|     ::|   0x000a0dd4      80a4a003       cmp l2, 3
|     `===< 0x000a0dd8      044ffff0       ble icc, 0xa0d98
|      :|   0x000a0ddc      92100019       mov i1, o1
|      :|   0x000a0de0      b0268011       sub i2, l1, i0
|      :|   0x000a0de4      81cfe008       rett i7+8
|      :|   0x000a0de8      01000000       nop
|      :`-> 0x000a0dec      40012c9f       call sym.imp.__errno_location
|      :    0x000a0df0      01000000       nop
|      :    0x000a0df4      c2020000       ld [o0], g1
|      :    0x000a0df8      80a06004       cmp g1, 4
|      `==< 0x000a0dfc      024fffe7       be icc, 0xa0d98
|           0x000a0e00      92100019       mov i1, o1
|           0x000a0e04      81cfe008       rett i7+8
\           0x000a0e08      90103fff       mov -1, o0
EOF
RUN

NAME=af anal sparc
FILE=bins/elf/elf-Linux-SparcV8-bash
CMDS=<<EOF
aaa
s 0x0002bca0
afi~name
EOF
EXPECT=<<EOF
name: main
EOF
RUN

NAME=af anal sparc
FILE=bins/elf/elf-Linux-SparcV8-bash
CMDS=<<EOF
aaa
s 0x0002bca0
afi~name
EOF
EXPECT=<<EOF
name: main
EOF
RUN

NAME=anal.fcnprefix sparc
FILE=bins/elf/elf-solaris-sparc-ls
CMDS=<<EOF
s 0x00018c08
# e anal.flagends=false
e anal.fcnprefix=root
af
afl
?e --
af-*
afr
afl
EOF
EXPECT=<<EOF
0x00018c08  357   7304 main
--
0x00018c08  357   7304 main
0x0001b334    7    136 sym.set_program_name
0x0003fa34    1      8 sym.imp.strrchr
0x0003fa04    1      8 sym.imp.strncmp
0x0003fb78    1      8 sym.imp.setlocale
0x0003f95c    1      4 obj._PROCEDURE_LINKAGE_TABLE_
0x0003f98c    1      8 sym.imp.atexit
0x0003fb60    1      8 sym.imp.abort
0x00022a74    3     24 sym.set_quoting_style
0x0003fb84    1      8 sym.imp.getenv
0x0001b59c   15    248 sym.argmatch
0x0003fa70    1      8 sym.imp.strlen
0x0003fa4c    1      8 sym.imp..umul
0x0003fc50    1      8 sym.imp.memcmp
0x00021a50   26    408 sym.human_options
0x00021a14    1     60 sym.default_block_size
0x00025e38   14    232 sym.xstrtoumax
0x0003fb90    1      8 sym.imp.ioctl
0x00025948   53    796 sym.xstrtoul
0x0003fe54    1      8 sym.imp.strtoul
0x0003fbe4    1      8 sym.imp.strchr
0x0003fa64    1      8 sym.imp.__assert_c99
0x000258c0    4     76 sym.bkm_scale
0x0002590c    3     60 sym.bkm_scale_by_power
0x0001f7c4    1     44 sym.rpl_getopt_long
0x0001f720    1    116 sym._getopt_internal
0x0001eb64  189   3004 sym._getopt_internal_r
0x00018954    4    692 sym.usage
0x0003fb6c    1      8 sym.imp.fprintf
0x0003f998    1      8 sym.imp.exit
0x0003f9e0    1      8 sym.imp.printf
0x0003fb00    1      8 sym.imp.fwrite
0x0003fa40    1      8 sym.imp..udiv
0x00022a24    3     56 sym.clone_quoting_options
0x00025720    1     32 sym.xmemdup
0x000255f0    3     56 sym.xmalloc
0x0003fc20    1      8 sym.imp.malloc
0x0001b558    1     44 sym.xalloc_die
0x0001bb8c    4    120 sym.error
0x0003fb0c    1      8 sym.imp.memcpy
0x00022a5c    3     24 sym.get_quoting_style
0x00022a8c    3     80 sym.set_char_quoting
0x0001386c    5    180 sym.clear_files
0x0003f9f8    1      8 sym.imp.free
0x00015f6c  132   2488 sym.gobble_file
0x0003fa88    1      8 sym.imp.memset
0x0003fa94    1      8 sym.imp.lstat64
0x00015ee0    4     80 sym.format_user_or_group_width
0x00015f30    3     60 sym.format_user_width
0x00021bf0   12    168 sym.getuser
0x00025740    1     24 sym.xstrdup
0x00025628    3     60 sym.xrealloc
0x0003fe48    1      8 sym.imp.realloc
0x00013cd8    1     52 sym.file_failure
0x0002396c    1     20 sym.quotearg_colon
0x00023950    1     28 sym.quotearg_char
0x000238c0    1    144 sym.quotearg_char_mem
0x00023634   15    372 sym.quotearg_n_options
0x00013ca0    5     56 sym.set_exit_status
0x0003faa0    1      8 sym.imp.stat64
0x000254e4    3     88 sym.umaxtostr
0x0002bcac   61    704 sym.__umoddi3
0x0002b940   58    680 sym.__udivdi3
0x0003faac    1      8 sym.imp.__major
0x0003fab8    1      8 sym.imp.__minor
0x0001accc   16    252 sym.areadlink_with_size
0x0003fac4    1      8 sym.imp.strncpy
0x0003fad0    1      8 sym.imp.strcpy
0x000137a4    9    132 sym.is_colored
0x00021db4   12    168 sym.getgroup
0x0001ac9c    3     48 sym.file_has_acl
0x0003fc2c    1      8 sym.imp.acl_trivial
0x00013774    1     16 sym.dev_ino_free
0x00013784    1     32 sym.free_pending_ent
0x0003fb9c    1      8 sym.imp.opendir
0x0001ba88    1      8 sym.dirfd
0x0003fba8    1      8 sym.imp.fstat64
0x0003fbb4    1      8 sym.imp.readdir64
0x00013d0c    6     72 sym.patterns_match
0x0001e84c    4     92 sym.gnu_fnmatch
0x0001caf4  206   2720 sym.internal_fnmatch
0x0003fbc0    1      8 sym.imp.closedir
0x00015c2c   16    396 sym.sort_files
0x00015be8    4     68 sym.initialize_ordering_vector
0x0003fa58    1      8 sym.imp.setjmp
0x00022234    1     28 sym.mpsort
0x00022030   25    516 sym.mpsort_with_tmp
0x00016a20   31    512 sym.quote_name
0x0002348c    3     76 sym.quotearg_buffer
0x00022b84    3    100 sym.quotearg_buffer_restyled
0x0001b158   18    240 sym.mbsnwidth
0x0003f9d4    1      8 sym.imp.fputs
0x00016da0    1     32 sym.restore_default_color
0x00016d50    3     80 sym.put_indicator
0x00016d0c    3     68 sym.prep_non_filename_text
0x0003fb18    1      8 sym.imp.fflush
0x0003fbcc    1      8 sym.imp.sigismember
0x0003fb3c    1      8 sym.imp.signal
0x0003fb30    1      8 sym.imp.raise
0x0003fbd8    1      8 sym.imp.isatty
0x000237dc    1     24 sym.quotearg
0x000237a8    1     28 sym.quotearg_n
0x0001b7e4    3     88 sym.__xargmatch_internal
0x0001b694    3     88 sym.argmatch_invalid
0x00023810    1     28 sym.quotearg_n_style
0x00022afc    1     16 sym.quoting_options_from_style
0x00022750    1     24 sym.quote_n
0x0001b6ec    9    248 sym.argmatch_valid
0x00013920    1     40 sym.add_ignore_pattern
0x0001b528    1     48 sym.version_etc
0x0001b3e4   16    316 sym.version_etc_va
0x00013d80   23    352 sym.extract_dirs_from_files
0x00013d5c    1     36 sym.is_directory
0x0001b894   10    152 sym.last_component
0x00013c38    5    104 sym.queue_directory
0x00017b7c    3     56 sym.print_current_files
0x00022414   23    408 sym._obstack_newchunk
0x0003f9ec    1      8 sym.imp.__flsbuf
0x0001f998    1      8 sym.hash_get_n_entries
0x000201f0   23    264 sym.hash_free
0x0001f8d0   10    184 sym.hard_locale
0x0003fd10    1      8 sym.imp.strdup
0x0003fa28    1      8 sym.imp.strcmp
0x00022768    1     28 sym.quote
0x0003fbf0    1      8 sym.imp.tcgetpgrp
0x0003fbfc    1      8 sym.imp.sigemptyset
0x0003fc08    1      8 sym.imp.sigaction
0x0003fc14    1      8 sym.imp.sigaddset
0x0001ff34   28    480 sym.hash_initialize
0x0001fe74    9    192 sym.check_tuning
0x0003fb48    1      8 sym.imp..urem
0x0003fd1c    1      8 sym.imp.calloc
0x00022250   10    224 sym._obstack_begin
0x00013620   12    240 sym.dired_dump_obstack
0x00025758   12    148 sym.xstrtol_fatal
0x00013948    1     64 sym.get_funky_string
EOF
RUN

NAME=anal.recont=true
FILE=bins/elf/elf-Linux-SparcV8-bash
CMDS=<<EOF
e anal.recont=true
s 0x0002bca0
af
afb
EOF
EXPECT=<<EOF
0x0002bca0 0x0002bccc 00:0000 44 j 0x0002c534 f 0x0002bccc
0x0002bccc 0x0002bcec 00:0000 32 j 0x0002bd04 f 0x0002bcec
0x0002bcec 0x0002bd04 00:0000 24 j 0x0002bcec f 0x0002bd04
0x0002bd04 0x0002bd2c 00:0000 40 j 0x0002bd90 f 0x0002bd2c
0x0002bd2c 0x0002bd3c 00:0000 16 j 0x0002bd48 f 0x0002bd3c
0x0002bd3c 0x0002bd48 00:0000 12 j 0x0002bd48
0x0002bd48 0x0002bd58 00:0000 16 j 0x0002bd64 f 0x0002bd58
0x0002bd58 0x0002bd64 00:0000 12 j 0x0002bd64
0x0002bd64 0x0002bd74 00:0000 16 j 0x0002bd80 f 0x0002bd74
0x0002bd74 0x0002bd80 00:0000 12 j 0x0002bd80
0x0002bd80 0x0002bd90 00:0000 16 j 0x0002bd90
0x0002bd90 0x0002bdc8 00:0000 56 j 0x0002c5dc f 0x0002bdc8
0x0002bdc8 0x0002bde8 00:0000 32 j 0x0002caf4 f 0x0002bde8
0x0002bde8 0x0002bdec 00:0000 4 j 0x0002bdec
0x0002bdec 0x0002bdf8 00:0000 12 j 0x0002bdf8
0x0002bdf8 0x0002be10 00:0000 24 j 0x0002be40 f 0x0002be10
0x0002be10 0x0002be40 00:0000 48 j 0x0002be40
0x0002be40 0x0002be60 00:0000 32 j 0x0002be60 f 0x0002be60
0x0002be60 0x0002bebc 00:0000 92 j 0x0002c53c f 0x0002bebc
0x0002bebc 0x0002bed4 00:0000 24 j 0x0002c564 f 0x0002bed4
0x0002bed4 0x0002bed8 00:0000 4 j 0x0002bed8
0x0002bed8 0x0002bfdc 00:0000 260 j 0x0002c534 f 0x0002bfdc
0x0002bfdc 0x0002bff4 00:0000 24 j 0x0002c7a4 f 0x0002bff4
0x0002bff4 0x0002c014 00:0000 32 j 0x0002c644 f 0x0002c014
0x0002c014 0x0002c024 00:0000 16 j 0x0002c7c8 f 0x0002c024
0x0002c024 0x0002c028 00:0000 4 j 0x0002c028
0x0002c028 0x0002c030 00:0000 8 j 0x0002caec f 0x0002c030
0x0002c030 0x0002c048 00:0000 24 j 0x0002c054 f 0x0002c048
0x0002c048 0x0002c054 00:0000 12 j 0x0002c054
0x0002c054 0x0002c084 00:0000 48 j 0x0002c094 f 0x0002c084
0x0002c084 0x0002c094 00:0000 16 j 0x0002c614 f 0x0002c094
0x0002c094 0x0002c098 00:0000 4 j 0x0002c098
0x0002c098 0x0002c0a4 00:0000 12 j 0x0002c0a4
0x0002c0a4 0x0002c0c4 00:0000 32 j 0x0002c80c f 0x0002c0c4
0x0002c0c4 0x0002c0dc 00:0000 24 j 0x0002c200 f 0x0002c0dc
0x0002c0dc 0x0002c0ec 00:0000 16 j 0x0002c200 f 0x0002c0ec
0x0002c0ec 0x0002c108 00:0000 28 j 0x0002c108
0x0002c108 0x0002c118 00:0000 16 j 0x0002c570 f 0x0002c118
0x0002c118 0x0002c128 00:0000 16 j 0x0002c58c f 0x0002c128
0x0002c128 0x0002c12c 00:0000 4 j 0x0002c12c
0x0002c12c 0x0002c138 00:0000 12 j 0x0002c14c
0x0002c13c 0x0002c14c 00:0000 16 j 0x0002c58c f 0x0002c14c
0x0002c14c 0x0002c15c 00:0000 16 j 0x0002c13c f 0x0002c15c
0x0002c15c 0x0002c174 00:0000 24 j 0x0002c13c f 0x0002c174
0x0002c174 0x0002c18c 00:0000 24 j 0x0002c5c4 f 0x0002c18c
0x0002c18c 0x0002c1a4 00:0000 24 j 0x0002d2a4 f 0x0002c1a4
0x0002c1a4 0x0002c1b8 00:0000 20 j 0x0002c1b8
0x0002c1b8 0x0002c1cc 00:0000 20 j 0x0002c58c f 0x0002c1cc
0x0002c1cc 0x0002c1dc 00:0000 16 j 0x0002c80c f 0x0002c1dc
0x0002c1dc 0x0002c1f0 00:0000 20 j 0x0002c200 f 0x0002c1f0
0x0002c1f0 0x0002c200 00:0000 16 j 0x0002c108 f 0x0002c200
0x0002c200 0x0002c218 00:0000 24 j 0x0002c78c f 0x0002c218
0x0002c218 0x0002c228 00:0000 16 j 0x0002c634 f 0x0002c228
0x0002c228 0x0002c244 00:0000 28 j 0x0002d2f0 f 0x0002c244
0x0002c244 0x0002c25c 00:0000 24 j 0x0002c384 f 0x0002c25c
0x0002c25c 0x0002c284 00:0000 40 j 0x0002c380 f 0x0002c284
0x0002c284 0x0002c2b4 00:0000 48 j 0x0002c340
0x0002c2b8 0x0002c2c0 00:0000 8 j 0x0002c2c0
0x0002c2c0 0x0002c2e0 00:0000 32 j 0x0002c2e0
0x0002c2e0 0x0002c2f4 00:0000 20 j 0x0002c66c f 0x0002c2f4
0x0002c2f4 0x0002c304 00:0000 16 j 0x0002c380 f 0x0002c304
0x0002c304 0x0002c318 00:0000 20 j 0x0002c384 f 0x0002c318
0x0002c318 0x0002c340 00:0000 40 j 0x0002c380 f 0x0002c340
0x0002c340 0x0002c354 00:0000 20 j 0x0002c2b8 f 0x0002c354
0x0002c354 0x0002c364 00:0000 16 j 0x0002c380 f 0x0002c364
0x0002c364 0x0002c370 00:0000 12 j 0x0002c2c0 f 0x0002c370
0x0002c370 0x0002c380 00:0000 16 j 0x0002c2c0 f 0x0002c380
0x0002c380 0x0002c384 00:0000 4 j 0x0002c384
0x0002c384 0x0002c398 00:0000 20 j 0x0002ca50 f 0x0002c398
0x0002c398 0x0002c3a8 00:0000 16 j 0x0002c3a8
0x0002c3a8 0x0002c3d0 00:0000 40 j 0x0002ca38 f 0x0002c3d0
0x0002c3d0 0x0002c3dc 00:0000 12 j 0x0002c3dc
0x0002c3dc 0x0002c3e8 00:0000 12 j 0x0002c3e8
0x0002c3e8 0x0002c3f8 00:0000 16 j 0x0002c410 f 0x0002c3f8
0x0002c3f8 0x0002c40c 00:0000 20 j 0x0002cb48 f 0x0002c40c
0x0002c40c 0x0002c410 00:0000 4 j 0x0002c410
0x0002c410 0x0002c420 00:0000 16 j 0x0002c450 f 0x0002c420
0x0002c420 0x0002c440 00:0000 32 j 0x0002d0e0 f 0x0002c440
0x0002c440 0x0002c450 00:0000 16 j 0x0002c450
0x0002c450 0x0002c46c 00:0000 28 j 0x0002cac8 f 0x0002c46c
0x0002c46c 0x0002c480 00:0000 20 j 0x0002ca58 f 0x0002c480
0x0002c480 0x0002c488 00:0000 8 j 0x0002c488
0x0002c488 0x0002c49c 00:0000 20 j 0x0002c4b4 f 0x0002c49c
0x0002c49c 0x0002c4b0 00:0000 20 j 0x0002cb28 f 0x0002c4b0
0x0002c4b0 0x0002c4b4 00:0000 4 j 0x0002c4b4
0x0002c4b4 0x0002c4c4 00:0000 16 j 0x0002cb98 f 0x0002c4c4
0x0002c4c4 0x0002c4c8 00:0000 4 j 0x0002c4c8
0x0002c4c8 0x0002c4d8 00:0000 16 j 0x0002c83c f 0x0002c4d8
0x0002c4d8 0x0002c4e8 00:0000 16 j 0x0002c81c f 0x0002c4e8
0x0002c4e8 0x0002c4f4 00:0000 12 j 0x0002c50c
0x0002c4f8 0x0002c508 00:0000 16 j 0x0002c814 f 0x0002c508
0x0002c508 0x0002c50c 00:0000 4 j 0x0002c50c
0x0002c50c 0x0002c534 00:0000 40 j 0x0002c4f8 f 0x0002c534
0x0002c534 0x0002c53c 00:0000 8
0x0002c53c 0x0002c550 00:0000 20 j 0x0002bfdc f 0x0002c550
0x0002c550 0x0002c560 00:0000 16 j 0x0002bed8 f 0x0002c560
0x0002c560 0x0002c564 00:0000 4 j 0x0002c564
0x0002c564 0x0002c56c 00:0000 8 j 0x0002bed4
0x0002c570 0x0002c580 00:0000 16 j 0x0002c118 f 0x0002c580
0x0002c580 0x0002c58c 00:0000 12 j 0x0002c12c f 0x0002c58c
0x0002c58c 0x0002c598 00:0000 12 j 0x0002c200 f 0x0002c598
0x0002c598 0x0002c5c0 00:0000 40 j 0x0002d290
0x0002c5c4 0x0002c5d8 00:0000 20 j 0x0002c1b8
0x0002c5dc 0x0002c60c 00:0000 48 j 0x0002bdec f 0x0002c60c
0x0002c60c 0x0002c610 00:0000 4 j 0x0002caf4
0x0002c614 0x0002c61c 00:0000 8 j 0x0002c0a4 f 0x0002c61c
0x0002c61c 0x0002c62c 00:0000 16 j 0x0002c098 f 0x0002c62c
0x0002c62c 0x0002c630 00:0000 4 j 0x0002c0a4
0x0002c634 0x0002c644 00:0000 16
0x0002c644 0x0002c650 00:0000 12 j 0x0002cd58 f 0x0002c650
0x0002c650 0x0002c668 00:0000 24 j 0x0002c014
0x0002c66c 0x0002c67c 00:0000 16 j 0x0002c69c f 0x0002c67c
0x0002c67c 0x0002c694 00:0000 24 j 0x0002d26c f 0x0002c694
0x0002c694 0x0002c698 00:0000 4 j 0x0002c2e0
0x0002c69c 0x0002c6a8 00:0000 12
0x0002c78c 0x0002c7a4 00:0000 24
0x0002c7a4 0x0002c7c4 00:0000 32 j 0x0002c028 f 0x0002c7c4
0x0002c7c4 0x0002c7c8 00:0000 4 j 0x0002c7c8
0x0002c7c8 0x0002c7d4 00:0000 12 j 0x0002cbbc f 0x0002c7d4
0x0002c7d4 0x0002c7e8 00:0000 20 j 0x0002c028 f 0x0002c7e8
0x0002c7e8 0x0002c7f8 00:0000 16 j 0x0002c028 f 0x0002c7f8
0x0002c7f8 0x0002c808 00:0000 16 j 0x0002c028
0x0002c80c 0x0002c810 00:0000 4 j 0x0002c200
0x0002c814 0x0002c81c 00:0000 8 j 0x0002c81c
0x0002c81c 0x0002c83c 00:0000 32 j 0x0002c83c
0x0002c83c 0x0002c868 00:0000 44 j 0x0002cbfc f 0x0002c868
0x0002c868 0x0002c898 00:0000 48 j 0x0002c8d4 f 0x0002c898
0x0002c898 0x0002c8a8 00:0000 16 j 0x0002ce58 f 0x0002c8a8
0x0002c8a8 0x0002c8d4 00:0000 44 j 0x0002c8d4
0x0002c8d4 0x0002c8f0 00:0000 28 j 0x0002cb10 f 0x0002c8f0
0x0002c8f0 0x0002c910 00:0000 32 j 0x0002c910
0x0002c910 0x0002c93c 00:0000 44 j 0x0002c950 f 0x0002c93c
0x0002c93c 0x0002c950 00:0000 20 j 0x0002cf34 f 0x0002c950
0x0002c950 0x0002c964 00:0000 20 j 0x0002ce74 f 0x0002c964
0x0002c964 0x0002c968 00:0000 4 j 0x0002c968
0x0002c968 0x0002c970 00:0000 8 j 0x0002c980 f 0x0002c970
0x0002c970 0x0002c980 00:0000 16 j 0x0002c980
0x0002c980 0x0002c998 00:0000 24 j 0x0002ce60 f 0x0002c998
0x0002c998 0x0002c99c 00:0000 4 j 0x0002c99c
0x0002c99c 0x0002c9ac 00:0000 16 j 0x0002cd60 f 0x0002c9ac
0x0002c9ac 0x0002c9e0 00:0000 52 j 0x0002ca14 f 0x0002c9e0
0x0002c9e0 0x0002ca14 00:0000 52 j 0x0002ca14
0x0002ca14 0x0002ca38 00:0000 36 j 0x0002ca38
0x0002ca38 0x0002ca48 00:0000 16 j 0x0002c3e8 f 0x0002ca48
0x0002ca48 0x0002ca4c 00:0000 4 j 0x0002c3dc
0x0002ca50 0x0002ca54 00:0000 4 j 0x0002c3a8
0x0002ca58 0x0002ca68 00:0000 16 j 0x0002c480 f 0x0002ca68
0x0002ca68 0x0002ca7c 00:0000 20 j 0x0002ca8c f 0x0002ca7c
0x0002ca7c 0x0002ca8c 00:0000 16 j 0x0002c480 f 0x0002ca8c
0x0002ca8c 0x0002caac 00:0000 32 j 0x0002c480 f 0x0002caac
0x0002caac 0x0002cac8 00:0000 28 j 0x0002c480 f 0x0002cac8
0x0002cac8 0x0002cae8 00:0000 32 j 0x0002c488
0x0002caec 0x0002caf0 00:0000 4 j 0x0002c030
0x0002caf4 0x0002cb08 00:0000 20 j 0x0002bdec f 0x0002cb08
0x0002cb08 0x0002cb0c 00:0000 4 j 0x0002bdf8
0x0002cb10 0x0002cb24 00:0000 20 j 0x0002c910
0x0002cb28 0x0002cb2c 00:0000 4 j 0x0002cb2c
0x0002cb2c 0x0002cb40 00:0000 20 j 0x0002cb2c f 0x0002cb40
0x0002cb40 0x0002cb44 00:0000 4 j 0x0002c4b4
0x0002cb48 0x0002cb58 00:0000 16 j 0x0002c410 f 0x0002cb58
0x0002cb58 0x0002cb64 00:0000 12 j 0x0002c410
0x0002cb98 0x0002cbb8 00:0000 32 j 0x0002c4c8
0x0002cbbc 0x0002cbcc 00:0000 16 j 0x0002c028 f 0x0002cbcc
0x0002cbcc 0x0002cbf4 00:0000 40 j 0x0002c028 f 0x0002cbf4
0x0002cbf4 0x0002cbf8 00:0000 4 j 0x0002c7d4
0x0002cbfc 0x0002cc20 00:0000 36 j 0x0002cc30 f 0x0002cc20
0x0002cc20 0x0002cc30 00:0000 16 j 0x0002ccb4 f 0x0002cc30
0x0002cc30 0x0002cc34 00:0000 4 j 0x0002cc34
0x0002cc34 0x0002cc4c 00:0000 24 j 0x0002d2c4 f 0x0002cc4c
0x0002cc4c 0x0002cc5c 00:0000 16 j 0x0002cccc f 0x0002cc5c
0x0002cc5c 0x0002cc60 00:0000 4 j 0x0002cc60
0x0002cc60 0x0002cc64 00:0000 4 j 0x0002cc64
0x0002cc64 0x0002cc7c 00:0000 24 j 0x0002cc8c f 0x0002cc7c
0x0002cc7c 0x0002cc8c 00:0000 16 j 0x0002cd10 f 0x0002cc8c
0x0002cc8c 0x0002cc90 00:0000 4 j 0x0002cc90
0x0002cc90 0x0002cca4 00:0000 20 j 0x0002c868 f 0x0002cca4
0x0002cca4 0x0002ccb0 00:0000 12 j 0x0002c868
0x0002ccb4 0x0002ccc8 00:0000 20 j 0x0002cc34
0x0002cccc 0x0002ccd8 00:0000 12 j 0x0002cc60 f 0x0002ccd8
0x0002ccd8 0x0002cce8 00:0000 16 j 0x0002cc60 f 0x0002cce8
0x0002cce8 0x0002cd04 00:0000 28 j 0x0002cc60 f 0x0002cd04
0x0002cd04 0x0002cd0c 00:0000 8 j 0x0002cc64
0x0002cd10 0x0002cd2c 00:0000 28 j 0x0002cc90 f 0x0002cd2c
0x0002cd2c 0x0002cd38 00:0000 12 j 0x0002cc90 f 0x0002cd38
0x0002cd38 0x0002cd50 00:0000 24 j 0x0002cc90 f 0x0002cd50
0x0002cd50 0x0002cd54 00:0000 4 j 0x0002cc90
0x0002cd58 0x0002cd5c 00:0000 4 j 0x0002c650
0x0002cd60 0x0002cd74 00:0000 20 j 0x0002cd84 f 0x0002cd74
0x0002cd74 0x0002cd84 00:0000 16 j 0x0002d324 f 0x0002cd84
0x0002cd84 0x0002cd98 00:0000 20 j 0x0002ceb0 f 0x0002cd98
0x0002cd98 0x0002cdb0 00:0000 24 j 0x0002cdb0
0x0002cdb0 0x0002cdc0 00:0000 16 j 0x0002ce98 f 0x0002cdc0
0x0002cdc0 0x0002cdd4 00:0000 20 j 0x0002d3ac f 0x0002cdd4
0x0002cdd4 0x0002cde4 00:0000 16 j 0x0002cde4
0x0002cde4 0x0002ce10 00:0000 44 j 0x0002ce38 f 0x0002ce10
0x0002ce10 0x0002ce20 00:0000 16 j 0x0002ce38 f 0x0002ce20
0x0002ce20 0x0002ce34 00:0000 20 j 0x0002d34c f 0x0002ce34
0x0002ce34 0x0002ce38 00:0000 4 j 0x0002ce38
0x0002ce38 0x0002ce48 00:0000 16 j 0x0002cee4 f 0x0002ce48
0x0002ce48 0x0002ce58 00:0000 16 j 0x0002ce58
0x0002ce58 0x0002ce60 00:0000 8 j 0x0002ce60
0x0002ce60 0x0002ce70 00:0000 16 j 0x0002c99c
0x0002ce74 0x0002ce94 00:0000 32 j 0x0002c968
0x0002ce98 0x0002ceac 00:0000 20 j 0x0002cde4
0x0002ceb0 0x0002cec4 00:0000 20 j 0x0002cec4
0x0002cec4 0x0002ced4 00:0000 16 j 0x0002cd98 f 0x0002ced4
0x0002ced4 0x0002cee0 00:0000 12 j 0x0002cdb0
0x0002cee4 0x0002cf10 00:0000 44 j 0x0002cf24 f 0x0002cf10
0x0002cf10 0x0002cf24 00:0000 20 j 0x0002d394 f 0x0002cf24
0x0002cf24 0x0002cf30 00:0000 12 j 0x0002ce48
0x0002cf34 0x0002cf4c 00:0000 24 j 0x0002d108 f 0x0002cf4c
0x0002cf4c 0x0002cf60 00:0000 20 j 0x0002cf60
0x0002cf60 0x0002cf6c 00:0000 12 j 0x0002d1a0 f 0x0002cf6c
0x0002cf6c 0x0002cf80 00:0000 20 j 0x0002cfa4 f 0x0002cf80
0x0002cf80 0x0002cfa4 00:0000 36 j 0x0002d3bc f 0x0002cfa4
0x0002cfa4 0x0002cfb8 00:0000 20 j 0x0002d044 f 0x0002cfb8
0x0002cfb8 0x0002cfcc 00:0000 20 j 0x0002cfe0 f 0x0002cfcc
0x0002cfcc 0x0002cfe0 00:0000 20 j 0x0002d044 f 0x0002cfe0
0x0002cfe0 0x0002cfe8 00:0000 8 j 0x0002d030 f 0x0002cfe8
0x0002cfe8 0x0002cff8 00:0000 16 j 0x0002d030 f 0x0002cff8
0x0002cff8 0x0002d008 00:0000 16 j 0x0002d030 f 0x0002d008
0x0002d008 0x0002d01c 00:0000 20 j 0x0002d030 f 0x0002d01c
0x0002d01c 0x0002d030 00:0000 20 j 0x0002d030
0x0002d030 0x0002d034 00:0000 4 j 0x0002d034
0x0002d034 0x0002d040 00:0000 12 j 0x0002c950
0x0002d044 0x0002d04c 00:0000 8 j 0x0002d220 f 0x0002d04c
0x0002d04c 0x0002d060 00:0000 20 j 0x0002d090 f 0x0002d060
0x0002d060 0x0002d06c 00:0000 12 j 0x0002d094 f 0x0002d06c
0x0002d06c 0x0002d08c 00:0000 32 j 0x0002d1ac f 0x0002d08c
0x0002d08c 0x0002d090 00:0000 4 j 0x0002d090
0x0002d090 0x0002d094 00:0000 4 j 0x0002d094
0x0002d094 0x0002d0a0 00:0000 12 j 0x0002d22c f 0x0002d0a0
0x0002d0a0 0x0002d0b4 00:0000 20 j 0x0002d0d0 f 0x0002d0b4
0x0002d0b4 0x0002d0d0 00:0000 28 j 0x0002d0d0
0x0002d0d0 0x0002d0dc 00:0000 12 j 0x0002d034
0x0002d0e0 0x0002d104 00:0000 36 j 0x0002c534
0x0002d108 0x0002d11c 00:0000 20 j 0x0002d190 f 0x0002d11c
0x0002d11c 0x0002d12c 00:0000 16 j 0x0002cf6c f 0x0002d12c
0x0002d12c 0x0002d140 00:0000 20 j 0x0002d1a0 f 0x0002d140
0x0002d140 0x0002d154 00:0000 20 j 0x0002d19c f 0x0002d154
0x0002d154 0x0002d168 00:0000 20 j 0x0002d45c f 0x0002d168
0x0002d168 0x0002d16c 00:0000 4 j 0x0002d16c
0x0002d16c 0x0002d17c 00:0000 16 j 0x0002d408 f 0x0002d17c
0x0002d17c 0x0002d180 00:0000 4 j 0x0002d180
0x0002d180 0x0002d190 00:0000 16 j 0x0002cf4c f 0x0002d190
0x0002d190 0x0002d198 00:0000 8 j 0x0002cf60
0x0002d19c 0x0002d1a0 00:0000 4 j 0x0002d1a0
0x0002d1a0 0x0002d1a8 00:0000 8 j 0x0002cfa4
0x0002d1ac 0x0002d1d0 00:0000 36 j 0x0002d20c f 0x0002d1d0
0x0002d1d0 0x0002d1ec 00:0000 28 j 0x0002d090 f 0x0002d1ec
0x0002d1ec 0x0002d208 00:0000 28 j 0x0002d090 f 0x0002d208
0x0002d208 0x0002d20c 00:0000 4 j 0x0002d20c
0x0002d20c 0x0002d21c 00:0000 16 j 0x0002d090
0x0002d220 0x0002d228 00:0000 8 j 0x0002d0d0 f 0x0002d228
0x0002d228 0x0002d22c 00:0000 4 j 0x0002d22c
0x0002d22c 0x0002d23c 00:0000 16 j 0x0002d0d0 f 0x0002d23c
0x0002d23c 0x0002d250 00:0000 20 j 0x0002d0d0 f 0x0002d250
0x0002d250 0x0002d268 00:0000 24 j 0x0002d0d0
0x0002d26c 0x0002d290 00:0000 36 j 0x0002d290
0x0002d290 0x0002d2a0 00:0000 16 j 0x0002c534
0x0002d2a4 0x0002d2c0 00:0000 28 j 0x0002c534
0x0002d2c4 0x0002d2d0 00:0000 12 j 0x0002cc8c f 0x0002d2d0
0x0002d2d0 0x0002d2e0 00:0000 16 j 0x0002d2f8 f 0x0002d2e0
0x0002d2e0 0x0002d2e4 00:0000 4 j 0x0002d2e4
0x0002d2e4 0x0002d2ec 00:0000 8 j 0x0002cc7c
0x0002d2f0 0x0002d2f4 00:0000 4 j 0x0002c380
0x0002d2f8 0x0002d314 00:0000 28 j 0x0002d2e4 f 0x0002d314
0x0002d314 0x0002d320 00:0000 12 j 0x0002cc7c
0x0002d324 0x0002d348 00:0000 36 j 0x0002cec4
0x0002d34c 0x0002d37c 00:0000 48 j 0x0002ce34
0x0002d394 0x0002d3a8 00:0000 20 j 0x0002ce48
0x0002d3ac 0x0002d3b8 00:0000 12 j 0x0002cde4
0x0002d3bc 0x0002d3e0 00:0000 36 j 0x0002d448 f 0x0002d3e0
0x0002d3e0 0x0002d3fc 00:0000 28 j 0x0002d42c f 0x0002d3fc
0x0002d3fc 0x0002d400 00:0000 4 j 0x0002d400
0x0002d400 0x0002d404 00:0000 4 j 0x0002cfa4
0x0002d408 0x0002d428 00:0000 32 j 0x0002d034
0x0002d42c 0x0002d444 00:0000 24 j 0x0002d400 f 0x0002d444
0x0002d444 0x0002d448 00:0000 4 j 0x0002d448
0x0002d448 0x0002d458 00:0000 16 j 0x0002d400
0x0002d45c 0x0002d470 00:0000 20 j 0x0002d16c f 0x0002d470
0x0002d470 0x0002d490 00:0000 32 j 0x0002d16c f 0x0002d490
0x0002d490 0x0002d494 00:0000 4 j 0x0002d180
EOF
RUN

NAME=af anal sparc
FILE=bins/elf/elf-Linux-SparcV8-bash
CMDS=<<EOF
aaa
s 0x0002bca0
afi~name
EOF
EXPECT=<<EOF
name: main
EOF
RUN

NAME=Analyze bb with branch delay instruction head
FILE=bins/elf/elf-solaris-sparc-ls
CMDS=<<EOF
s 0x0001bc04
af
afb
EOF
EXPECT=<<EOF
0x0001bc04 0x0001bc1c 00:0000 24 j 0x0001bc38 f 0x0001bc1c
0x0001bc1c 0x0001bc30 00:0000 20 j 0x0001bc98 f 0x0001bc30
0x0001bc30 0x0001bc34 00:0000 4 j 0x0001bc34
0x0001bc34 0x0001bc38 00:0000 4 j 0x0001bc38
0x0001bc38 0x0001bc58 00:0000 32 j 0x0001bcc4 f 0x0001bc58
0x0001bc58 0x0001bc70 00:0000 24 j 0x0001bcec f 0x0001bc70
0x0001bc70 0x0001bc98 00:0000 40 j 0x0001bcf8
0x0001bc98 0x0001bca8 00:0000 16 j 0x0001bcf8 f 0x0001bca8
0x0001bca8 0x0001bcbc 00:0000 20 j 0x0001bcf8 f 0x0001bcbc
0x0001bcbc 0x0001bcc4 00:0000 8 j 0x0001bc34 f 0x0001bcc4
0x0001bcc4 0x0001bcec 00:0000 40 j 0x0001bc70 f 0x0001bcec
0x0001bcec 0x0001bcf8 00:0000 12 j 0x0001bc70 f 0x0001bcf8
0x0001bcf8 0x0001bd00 00:0000 8
EOF
RUN

NAME=sparc-1 main
FILE=bins/elf/sparc-1
ARGS=-e asm.lines=false
CMDS=<<EOF
pd 4
s main
pd 4
EOF
EXPECT=<<EOF
;-- section..text:
;-- entry0:
;-- _start:
0x000100f0      bc100000       mov g0, fp                              ; [02] -r-x section size 50552 named .text
0x000100f4      9c23a018       sub sp, 0x18, sp
0x000100f8      d203a058       ld [sp+0x58], o1
0x000100fc      9403a05c       add sp, 0x5c, o2
;-- main:
0x000104b4      fc3ba038       invalid
0x000104b8      9c03bfa0       add sp, -0x60, sp
0x000104bc      bc23bfa0       sub sp, -0x60, fp
0x000104c0      be10000f       mov o7, i7
EOF
RUN
