NAME=ELF: riscv64: entrypoint
FILE=../bins/elf/analysis/guess-number-riscv64
CMDS=ie
EXPECT=<<RUN
[Entrypoints]
vaddr=0x00010000 paddr=0x00001000 haddr=0x00000018 hvaddr=0x00010018 type=program

1 entrypoints
RUN

NAME=ELF: riscv64: symbols
FILE=../bins/elf/analysis/guess-number-riscv64
EXPECT=<<EOF
[Symbols]

nth paddr       vaddr      bind   type   size name
--------------------------------------------------
1    0x00001000 0x00010000 LOCAL  SECT   0    .text
2    0x000124f8 0x000214f8 LOCAL  SECT   0    .rodata
3    0x00013620 0x00022620 LOCAL  SECT   0    .init_array
4    0x00013628 0x00022628 LOCAL  SECT   0    .fini_array
5    0x00013630 0x00022630 LOCAL  SECT   0    .eh_frame
6    0x00015060 0x00024060 LOCAL  SECT   0    .jcr
7    0x00015070 0x00024070 LOCAL  SECT   0    .data
8    0x00016070 0x00025070 LOCAL  SECT   0    .sdata
9    ---------- 0x00025168 LOCAL  SECT   0    .sbss
10   ---------- 0x00025198 LOCAL  SECT   0    .bss
11   ---------- 0x00000000 LOCAL  SECT   0    .comment
12   ---------- 0x00000000 LOCAL  SECT   0    .debug_info
13   ---------- 0x00000000 LOCAL  SECT   0    .debug_abbrev
14   ---------- 0x00000000 LOCAL  SECT   0    .debug_loc
15   ---------- 0x00000000 LOCAL  SECT   0    .debug_aranges
16   ---------- 0x00000000 LOCAL  SECT   0    .debug_line
17   ---------- 0x00000000 LOCAL  SECT   0    .debug_str
18   ---------- 0x00000000 LOCAL  SECT   0    .debug_ranges
19   ---------- 0x00000000 LOCAL  FILE   0    crtstuff.c
20   0x00013630 0x00022630 LOCAL  OBJ    0    __EH_FRAME_BEGIN__
21   0x00015060 0x00024060 LOCAL  OBJ    0    __JCR_LIST__
22   0x0000104c 0x0001004c LOCAL  FUNC   0    deregister_tm_clones
23   0x00001080 0x00010080 LOCAL  FUNC   0    register_tm_clones
24   0x000010c0 0x000100c0 LOCAL  FUNC   0    __do_global_dtors_aux
25   ---------- 0x00025198 LOCAL  OBJ    1    completed.3084
26   0x00013628 0x00022628 LOCAL  OBJ    0    __do_global_dtors_aux_fini_array_entry
27   0x00001104 0x00010104 LOCAL  FUNC   0    frame_dummy
28   ---------- 0x000251a0 LOCAL  OBJ    48   object.3089
29   0x00013620 0x00022620 LOCAL  OBJ    0    __frame_dummy_init_array_entry
30   ---------- 0x00000000 LOCAL  FILE   0    hello.c
31   ---------- 0x00000000 LOCAL  FILE   0    crtstuff.c
32   0x00013630 0x00022630 LOCAL  OBJ    0    __FRAME_END__
33   0x00015060 0x00024060 LOCAL  OBJ    0    __JCR_END__
34   ---------- 0x00000000 LOCAL  FILE   0    atexit.c
35   ---------- 0x00000000 LOCAL  FILE   0    exit.c
36   ---------- 0x00000000 LOCAL  FILE   0    fini.c
37   ---------- 0x00000000 LOCAL  FILE   0    impure.c
38   0x00015070 0x00024070 LOCAL  OBJ    1864 impure_data
39   ---------- 0x00000000 LOCAL  FILE   0    init.c
40   ---------- 0x00000000 LOCAL  FILE   0    printf.c
41   ---------- 0x00000000 LOCAL  FILE   0    puts.c
42   ---------- 0x00000000 LOCAL  FILE   0    scanf.c
43   ---------- 0x00000000 LOCAL  FILE   0    strlen.c
44   ---------- 0x00000000 LOCAL  FILE   0    vfprintf.c
45   0x0000326c 0x0001226c LOCAL  FUNC   188  __sbprintf
46   0x000126a8 0x000216a8 LOCAL  OBJ    16   blanks.4193
47   0x000126b8 0x000216b8 LOCAL  OBJ    16   zeroes.4194
48   ---------- 0x00000000 LOCAL  FILE   0    vfscanf.c
49   0x00012b20 0x00021b20 LOCAL  OBJ    34   basefix.4147
50   ---------- 0x00000000 LOCAL  FILE   0    wsetup.c
51   ---------- 0x00000000 LOCAL  FILE   0    __atexit.c
52   ---------- 0x00000000 LOCAL  FILE   0    __call_atexit.c
53   ---------- 0x00000000 LOCAL  FILE   0    ctype_.c
54   ---------- 0x00000000 LOCAL  FILE   0    dtoa.c
55   0x00004958 0x00013958 LOCAL  FUNC   492  quorem
56   ---------- 0x00000000 LOCAL  FILE   0    fflush.c
57   ---------- 0x00000000 LOCAL  FILE   0    findfp.c
58   0x00005ef8 0x00014ef8 LOCAL  FUNC   8    __fp_unlock
59   0x00005f0c 0x00014f0c LOCAL  FUNC   396  __sinit.part.1
60   0x0000609c 0x0001509c LOCAL  FUNC   8    __fp_lock
61   ---------- 0x00000000 LOCAL  FILE   0    fread.c
62   ---------- 0x00000000 LOCAL  FILE   0    mallocr.c
63   ---------- 0x00000000 LOCAL  FILE   0    fvwrite.c
64   ---------- 0x00000000 LOCAL  FILE   0    fwalk.c
65   ---------- 0x00000000 LOCAL  FILE   0    iswspace.c
66   ---------- 0x00000000 LOCAL  FILE   0    locale.c
67   0x000157b8 0x000247b8 LOCAL  OBJ    32   lc_ctype_charset
68   0x000157d8 0x000247d8 LOCAL  OBJ    32   lc_message_charset
69   0x000157f8 0x000247f8 LOCAL  OBJ    96   lconv
70   ---------- 0x00000000 LOCAL  FILE   0    makebuf.c
71   ---------- 0x00000000 LOCAL  FILE   0    mallocr.c
72   ---------- 0x00000000 LOCAL  FILE   0    mbrtowc.c
73   ---------- 0x00000000 LOCAL  FILE   0    mbtowc_r.c
74   ---------- 0x00000000 LOCAL  FILE   0    memchr.c
75   ---------- 0x00000000 LOCAL  FILE   0    memcpy.c
76   ---------- 0x00000000 LOCAL  FILE   0    memmove.c
77   ---------- 0x00000000 LOCAL  FILE   0    mlock.c
78   ---------- 0x00000000 LOCAL  FILE   0    mprec.c
79   0x00012c50 0x00021c50 LOCAL  OBJ    12   p05.2568
80   ---------- 0x00000000 LOCAL  FILE   0    mallocr.c
81   ---------- 0x00000000 LOCAL  FILE   0    refill.c
82   0x00009590 0x00018590 LOCAL  FUNC   28   lflush
83   ---------- 0x00000000 LOCAL  FILE   0    sccl.c
84   ---------- 0x00000000 LOCAL  FILE   0    sf_nan.c
85   ---------- 0x00000000 LOCAL  FILE   0    s_fpclassify.c
86   ---------- 0x00000000 LOCAL  FILE   0    sprintf.c
87   ---------- 0x00000000 LOCAL  FILE   0    stdio.c
88   ---------- 0x00000000 LOCAL  FILE   0    lib_a-strcmp.o
89   0x000160b8 0x000250b8 LOCAL  NOTYPE 0    mask
90   ---------- 0x00000000 LOCAL  FILE   0    strtod.c
91   0x0001248c 0x0002148c LOCAL  FUNC   104  sulp
92   0x00012e50 0x00021e50 LOCAL  OBJ    20   fpi.2617
93   0x00012e68 0x00021e68 LOCAL  OBJ    20   fpinan.2653
94   0x00012e80 0x00021e80 LOCAL  OBJ    40   tinytens
95   ---------- 0x00000000 LOCAL  FILE   0    strtol.c
96   ---------- 0x00000000 LOCAL  FILE   0    strtoul.c
97   ---------- 0x00000000 LOCAL  FILE   0    vfprintf.c
98   0x00013010 0x00022010 LOCAL  OBJ    16   blanks.4178
99   0x00013020 0x00022020 LOCAL  OBJ    16   zeroes.4179
100  ---------- 0x00000000 LOCAL  FILE   0    ungetc.c
101  ---------- 0x00000000 LOCAL  FILE   0    vfprintf.c
102  0x0000d244 0x0001c244 LOCAL  FUNC   236  __sprint_r.part.0
103  0x0000e40c 0x0001d40c LOCAL  FUNC   188  __sbprintf
104  0x00013198 0x00022198 LOCAL  OBJ    16   blanks.4136
105  0x000131a8 0x000221a8 LOCAL  OBJ    16   zeroes.4137
106  ---------- 0x00000000 LOCAL  FILE   0    mallocr.c
107  ---------- 0x00000000 LOCAL  FILE   0    fclose.c
108  ---------- 0x00000000 LOCAL  FILE   0    fputwc.c
109  ---------- 0x00000000 LOCAL  FILE   0    gdtoa-gethex.c
110  0x0000e8a0 0x0001d8a0 LOCAL  FUNC   244  rshift
111  ---------- 0x00000000 LOCAL  FILE   0    gdtoa-hexnan.c
112  ---------- 0x00000000 LOCAL  FILE   0    strncmp.c
113  ---------- 0x00000000 LOCAL  FILE   0    vfprintf.c
114  0x00013420 0x00022420 LOCAL  OBJ    16   blanks.4122
115  0x00013430 0x00022430 LOCAL  OBJ    16   zeroes.4123
116  ---------- 0x00000000 LOCAL  FILE   0    wbuf.c
117  ---------- 0x00000000 LOCAL  FILE   0    wcrtomb.c
118  ---------- 0x00000000 LOCAL  FILE   0    wctomb_r.c
119  ---------- 0x00000000 LOCAL  FILE   0    syscalls.c
120  ---------- 0x00025190 LOCAL  OBJ    8    heap_end.2381
121  ---------- 0x000251f8 LOCAL  OBJ    16   t0.2343
122  ---------- 0x00000000 LOCAL  FILE   0    dp-bit.c
123  0x00010b9c 0x0001fb9c LOCAL  FUNC   496  _fpadd_parts
124  ---------- 0x00000000 LOCAL  FILE   0    libgcc2.c
125  ---------- 0x00000000 LOCAL  FILE   0    fp-bit.c
126  0x00011858 0x00020858 LOCAL  FUNC   444  _fpadd_parts
127  ---------- 0x00000000 LOCAL  FILE   0    libgcc2.c
128  ---------- 0x00000000 LOCAL  FILE   0    errno.c
129  ---------- 0x00000000 LOCAL  FILE   0    
130  0x00013630 0x00022630 LOCAL  NOTYPE 0    __fini_array_end
131  0x00013628 0x00022628 LOCAL  NOTYPE 0    __fini_array_start
132  0x00013628 0x00022628 LOCAL  NOTYPE 0    __init_array_end
133  0x00013620 0x00022620 LOCAL  NOTYPE 0    __preinit_array_end
134  0x00013620 0x00022620 LOCAL  NOTYPE 0    __init_array_start
135  0x00013620 0x00022620 LOCAL  NOTYPE 0    __preinit_array_start
136  0x00008ef4 0x00017ef4 GLOBAL FUNC   56   _mprec_log10
137  0x00008f94 0x00017f94 GLOBAL FUNC   132  __any_on
138  0x00012d28 0x00021d28 GLOBAL OBJ    40   __mprec_tinytens
139  0x000013c4 0x000103c4 GLOBAL FUNC   176  _puts_r
140  0x00011468 0x00020468 GLOBAL FUNC   64   __cmpdf2
141  0x00011564 0x00020564 GLOBAL FUNC   4    __eqdf2
142  0x000108b8 0x0001f8b8 GLOBAL FUNC   20   fstatat
143  0x00010b14 0x0001fb14 GLOBAL FUNC   28   sysconf
144  0x00001374 0x00010374 GLOBAL FUNC   80   printf
145  0x00015070 0x00024070 GLOBAL NOTYPE 0    _fdata
146  0x00010aec 0x0001faec GLOBAL FUNC   8    utime
147  0x000105e4 0x0001f5e4 GLOBAL FUNC   164  _wcrtomb_r
148  0x00009b08 0x00018b08 GLOBAL FUNC   104  __sseek
149  0x00006228 0x00015228 GLOBAL FUNC   16   __sinit
150  0x0001045c 0x0001f45c GLOBAL FUNC   376  __swbuf_r
151  0x00006f4c 0x00015f4c GLOBAL FUNC   120  _setlocale_r
152  0x000060a4 0x000150a4 GLOBAL FUNC   108  __sfmoreglue
153  0x0000d234 0x0001c234 GLOBAL FUNC   16   ungetc
154  0x00007fac 0x00016fac GLOBAL FUNC   4    __malloc_unlock
155  0x00009ca8 0x00018ca8 GLOBAL FUNC   4756 _strtod_r
156  0x00011e8c 0x00020e8c GLOBAL FUNC   300  __divsf3
157  0x00007dac 0x00016dac GLOBAL FUNC   288  memmove
158  0x00006218 0x00015218 GLOBAL FUNC   16   _cleanup
159  0x00007fb0 0x00016fb0 GLOBAL FUNC   172  _Balloc
160  0x00012358 0x00021358 GLOBAL FUNC   140  __fixsfsi
161  0x000108e8 0x0001f8e8 GLOBAL FUNC   20   faccessat
162  0x00011500 0x00020500 GLOBAL FUNC   4    __gtdf2
163  0x00012484 0x00021484 GLOBAL FUNC   8    __errno
164  0x00010a2c 0x0001fa2c GLOBAL FUNC   144  times
165  0x00011780 0x00020780 GLOBAL FUNC   44   __make_dp
166  0x00004508 0x00013508 GLOBAL FUNC   20   __svfscanf
167  0x00009a90 0x00018a90 GLOBAL FUNC   8    __seofread
168  0x00013620 0x00022620 GLOBAL NOTYPE 0    _etext
169  0x0001241c 0x0002141c GLOBAL FUNC   44   __make_fp
170  ---------- 0x00025870 GLOBAL NOTYPE 0    _gp
171  0x00011c94 0x00020c94 GLOBAL FUNC   84   __subsf3
172  0x00010958 0x0001f958 GLOBAL FUNC   36   execve
173  0x000109a0 0x0001f9a0 GLOBAL FUNC   8    getpid
174  0x00007c8c 0x00016c8c GLOBAL FUNC   288  memcpy
175  0x0000f124 0x0001e124 GLOBAL FUNC   616  __hexnan
176  0x00016068 0x00025068 GLOBAL OBJ    0    __TMC_END__
177  0x00005f00 0x00014f00 GLOBAL FUNC   12   _cleanup_r
178  0x0000b384 0x0001a384 GLOBAL FUNC   7156 _svfprintf_r
179  0x000115b4 0x000205b4 GLOBAL FUNC   132  __floatsidf
180  0x0001155c 0x0002055c GLOBAL FUNC   4    __ltdf2
181  0x00001474 0x00010474 GLOBAL FUNC   12   puts
182  0x00007a38 0x00016a38 GLOBAL FUNC   208  mbrtowc
183  0x000098bc 0x000188bc GLOBAL FUNC   132  __fpclassifyd
184  0x0000451c 0x0001351c GLOBAL FUNC   76   _vfscanf_r
185  0x00008e30 0x00017e30 GLOBAL FUNC   196  __ratio
187  0x00001330 0x00010330 GLOBAL FUNC   68   _printf_r
188  0x000109f0 0x0001f9f0 GLOBAL FUNC   60   isatty
189  0x00006f1c 0x00015f1c GLOBAL FUNC   48   iswspace
190  0x00012c60 0x00021c60 GLOBAL OBJ    200  __mprec_tens
191  0x00006fc4 0x00015fc4 GLOBAL FUNC   12   __locale_charset
192  0x00012128 0x00021128 GLOBAL FUNC   84   __lesf2
193  ---------- 0x00025198 GLOBAL NOTYPE 0    _bss_start
194  ---------- 0x00025188 GLOBAL OBJ    8    __malloc_top_pad
195  0x0000b370 0x0001a370 GLOBAL FUNC   20   strtoul
196  0x00016070 0x00025070 GLOBAL OBJ    0    __dso_handle
197  0x00016090 0x00025090 GLOBAL OBJ    4    __mb_cur_max
198  0x00006fec 0x00015fec GLOBAL FUNC   12   _localeconv_r
199  0x000083e8 0x000173e8 GLOBAL FUNC   52   __i2b
200  0x000068f8 0x000158f8 GLOBAL FUNC   1204 __sfvwrite_r
201  0x00010ed8 0x0001fed8 GLOBAL FUNC   228  __unpack_d
202  0x0000e580 0x0001d580 GLOBAL FUNC   260  _fclose_r
203  0x00005ed8 0x00014ed8 GLOBAL FUNC   32   fflush
204  ---------- 0x00025180 GLOBAL OBJ    8    __malloc_max_sbrked_mem
205  0x00012448 0x00021448 GLOBAL FUNC   60   __extendsfdf2
206  0x00010fbc 0x0001ffbc GLOBAL FUNC   72   __adddf3
207  0x00012184 0x00021184 GLOBAL FUNC   4    __nesf2
208  0x00008ba0 0x00017ba0 GLOBAL FUNC   336  __b2d
209  0x00010828 0x0001f828 GLOBAL FUNC   20   lseek
210  0x00016078 0x00025078 GLOBAL OBJ    8    _global_impure_ptr
211  0x00010af4 0x0001faf4 GLOBAL FUNC   8    chown
212  0x00009018 0x00018018 GLOBAL FUNC   1400 _realloc_r
213  0x00001290 0x00010290 GLOBAL FUNC   160  __libc_init_array
214  0x000131b8 0x000221b8 GLOBAL OBJ    256  __hexdig
215  0x0000e7fc 0x0001d7fc GLOBAL FUNC   40   _fputwc_r
216  0x00012d50 0x00021d50 GLOBAL OBJ    40   __mprec_bigtens
217  0x00008190 0x00017190 GLOBAL FUNC   300  __s2b
218  0x00011638 0x00020638 GLOBAL FUNC   124  __floatunsidf
219  0x000088a8 0x000178a8 GLOBAL FUNC   96   __mcmp
220  0x00010afc 0x0001fafc GLOBAL FUNC   8    chmod
221  0x00006248 0x00015248 GLOBAL FUNC   16   __fp_lock_all
222  0x00001048 0x00010048 GLOBAL NOTYPE 0    _init
223  0x0000b178 0x0001a178 GLOBAL FUNC   20   strtol
224  0x00001234 0x00010234 GLOBAL FUNC   92   __libc_fini_array
225  0x00011b74 0x00020b74 GLOBAL FUNC   216  __unpack_f
226  0x000082bc 0x000172bc GLOBAL FUNC   124  __hi0bits
227  0x000116b4 0x000206b4 GLOBAL FUNC   148  __fixdfsi
228  0x0000af3c 0x00019f3c GLOBAL FUNC   16   strtod
229  0x00010850 0x0001f850 GLOBAL FUNC   20   write
230  0x00012124 0x00021124 GLOBAL FUNC   4    __gtsf2
231  0x00010864 0x0001f864 GLOBAL FUNC   28   fstat
232  0x000109a8 0x0001f9a8 GLOBAL FUNC   36   kill
233  0x00011504 0x00020504 GLOBAL FUNC   84   __ledf2
234  0x00008610 0x00017610 GLOBAL FUNC   312  __pow5mult
235  ---------- 0x00025174 GLOBAL OBJ    4    __nlocale_changed
236  0x000014d0 0x000104d0 GLOBAL FUNC   68   _scanf_r
238  0x00010b04 0x0001fb04 GLOBAL FUNC   8    chdir
239  0x00011a14 0x00020a14 GLOBAL FUNC   352  __pack_f
241  0x00006238 0x00015238 GLOBAL FUNC   0    __sfp_lock_acquire
242  0x00007bac 0x00016bac GLOBAL FUNC   224  memchr
243  0x00009940 0x00018940 GLOBAL FUNC   112  _sprintf_r
244  0x000065ec 0x000155ec GLOBAL FUNC   780  _free_r
245  0x000109cc 0x0001f9cc GLOBAL FUNC   36   wait
246  0x00006fd0 0x00015fd0 GLOBAL FUNC   8    __locale_mb_cur_max
247  0x000047cc 0x000137cc GLOBAL FUNC   396  __call_exitprocs
248  ---------- 0x00025170 GLOBAL OBJ    4    __mlocale_changed
249  0x00001000 0x00010000 GLOBAL NOTYPE 0    _ftext
250  0x00016098 0x00025098 GLOBAL OBJ    8    __malloc_sbrk_base
251  0x00001000 0x00010000 GLOBAL NOTYPE 0    _start
252  0x0001089c 0x0001f89c GLOBAL FUNC   28   lstat
253  0x00008748 0x00017748 GLOBAL FUNC   352  __lshift
254  0x0001083c 0x0001f83c GLOBAL FUNC   20   read
255  0x000121d8 0x000211d8 GLOBAL FUNC   172  __floatsisf
256  0x0000f45c 0x0001e45c GLOBAL FUNC   504  __ssprint_r
257  0x000046cc 0x000136cc GLOBAL FUNC   256  __register_exitproc
258  0x0000f38c 0x0001e38c GLOBAL FUNC   208  strncmp
259  0x0000841c 0x0001741c GLOBAL FUNC   500  __multiply
260  0x00010938 0x0001f938 GLOBAL FUNC   32   unlink
261  ---------- 0x000251d0 GLOBAL OBJ    40   __malloc_current_mallinfo
262  0x00012188 0x00021188 GLOBAL FUNC   4    __eqsf2
263  0x00008cf0 0x00017cf0 GLOBAL FUNC   320  __d2b
264  0x0000b18c 0x0001a18c GLOBAL FUNC   484  _strtoul_r
265  0x00011394 0x00020394 GLOBAL FUNC   212  __fpcmp_parts_d
266  0x00011748 0x00020748 GLOBAL FUNC   56   __negdf2
267  0x0001097c 0x0001f97c GLOBAL FUNC   36   fork
268  0x00004568 0x00013568 GLOBAL FUNC   356  __swsetup_r
269  0x00011260 0x00020260 GLOBAL FUNC   308  __divdf3
270  0x000123e4 0x000213e4 GLOBAL FUNC   56   __negsf2
271  0x00006110 0x00015110 GLOBAL FUNC   264  __sfp
272  0x00008f2c 0x00017f2c GLOBAL FUNC   104  __copybits
273  0x00015858 0x00024858 GLOBAL OBJ    2064 __malloc_av_
274  0x00006244 0x00015244 GLOBAL FUNC   4    __sinit_lock_release
275  0x00011058 0x00020058 GLOBAL FUNC   520  __muldf3
276  0x00009a2c 0x00018a2c GLOBAL FUNC   100  __sread
277  0x00013458 0x00022458 GLOBAL OBJ    16   __thenan_sf
278  0x000064bc 0x000154bc GLOBAL FUNC   24   fread
279  0x000107cc 0x0001f7cc GLOBAL FUNC   48   __syscall_error
280  0x00007fa8 0x00016fa8 GLOBAL FUNC   4    __malloc_lock
282  0x00010b30 0x0001fb30 GLOBAL FUNC   80   sbrk
283  0x00005e7c 0x00014e7c GLOBAL FUNC   92   _fflush_r
284  0x0000e4cc 0x0001d4cc GLOBAL FUNC   180  _calloc_r
285  0x0001208c 0x0002108c GLOBAL FUNC   64   __cmpsf2
286  0x00010abc 0x0001fabc GLOBAL FUNC   32   gettimeofday
287  0x00007ecc 0x00016ecc GLOBAL NOTYPE 0    memset
288  0x00001150 0x00010150 GLOBAL FUNC   160  main
289  ---------- 0x00025178 GLOBAL OBJ    8    __malloc_max_total_mem
290  0x000105d4 0x0001f5d4 GLOBAL FUNC   16   __swbuf
291  0x00012180 0x00021180 GLOBAL FUNC   4    __ltsf2
292  0x00006268 0x00015268 GLOBAL FUNC   596  _fread_r
293  0x00009b74 0x00018b74 GLOBAL FUNC   8    __sclose
294  0x0000e684 0x0001d684 GLOBAL FUNC   12   fclose
295  0x000117ac 0x000207ac GLOBAL FUNC   76   __truncdfsf2
296  0x0000af9c 0x00019f9c GLOBAL FUNC   476  _strtol_r
297  0x00004b44 0x00013b44 GLOBAL FUNC   4300 _dtoa_r
298  0x000071c0 0x000161c0 GLOBAL FUNC   1988 _malloc_r
299  0x00010740 0x0001f740 GLOBAL FUNC   48   __ascii_wctomb
300  0x0000cf78 0x0001bf78 GLOBAL FUNC   240  __submore
301  0x00006dac 0x00015dac GLOBAL FUNC   176  _fwalk
302  0x00007b48 0x00016b48 GLOBAL FUNC   100  _mbtowc_r
303  0x00013440 0x00022440 GLOBAL OBJ    24   __thenan_df
304  0x000064d4 0x000154d4 GLOBAL FUNC   280  _malloc_trim_r
305  0x00011ce8 0x00020ce8 GLOBAL FUNC   420  __mulsf3
306  0x00009b7c 0x00018b7c GLOBAL NOTYPE 0    strcmp
307  0x0000e3f8 0x0001d3f8 GLOBAL FUNC   20   vfiprintf
308  0x00010b0c 0x0001fb0c GLOBAL FUNC   8    getcwd
309  0x00011560 0x00020560 GLOBAL FUNC   4    __nedf2
310  0x00001048 0x00010048 GLOBAL NOTYPE 0    _fini
311  0x000099b0 0x000189b0 GLOBAL FUNC   124  sprintf
312  0x00013468 0x00022468 GLOBAL OBJ    256  __clz_tab
313  ---------- 0x00025168 GLOBAL OBJ    8    _PathLocale
314  0x0000af4c 0x00019f4c GLOBAL FUNC   80   strtof
315  0x000011f0 0x000101f0 GLOBAL FUNC   20   atexit
316  0x000120cc 0x000210cc GLOBAL FUNC   88   __gesf2
317  0x00006ff8 0x00015ff8 GLOBAL FUNC   16   setlocale
318  0x00001480 0x00010480 GLOBAL FUNC   80   scanf
319  0x000098b4 0x000188b4 GLOBAL FUNC   8    nanf
320  0x00016080 0x00025080 GLOBAL OBJ    8    _impure_ptr
321  0x00005c10 0x00014c10 GLOBAL FUNC   620  __sflush_r
322  0x00007984 0x00016984 GLOBAL FUNC   180  _mbrtowc_r
323  0x00006fe4 0x00015fe4 GLOBAL FUNC   8    __locale_cjk_lang
324  0x0000f654 0x0001e654 GLOBAL FUNC   3592 _svfiprintf_r
325  0x000095ac 0x000185ac GLOBAL FUNC   588  __srefill_r
326  0x00007b08 0x00016b08 GLOBAL FUNC   64   __ascii_mbtowc
327  0x00008b10 0x00017b10 GLOBAL FUNC   144  __ulp
328  0x00006258 0x00015258 GLOBAL FUNC   16   __fp_unlock_all
329  0x00007008 0x00016008 GLOBAL FUNC   8    localeconv
330  0x00010adc 0x0001fadc GLOBAL FUNC   16   ftime
331  0x00010880 0x0001f880 GLOBAL FUNC   28   stat
332  0x000108cc 0x0001f8cc GLOBAL FUNC   28   access
333  0x00016068 0x00025068 GLOBAL NOTYPE 0    _edata
334  ---------- 0x00025208 GLOBAL NOTYPE 0    _end
335  0x0001218c 0x0002118c GLOBAL FUNC   72   __unordsf2
336  0x0000e690 0x0001d690 GLOBAL FUNC   364  __fputwc
337  0x000044a8 0x000134a8 GLOBAL FUNC   96   vfscanf
338  0x00009a98 0x00018a98 GLOBAL FUNC   112  __swrite
339  0x000160a0 0x000250a0 GLOBAL OBJ    8    __malloc_trim_threshold
340  0x0001091c 0x0001f91c GLOBAL FUNC   28   link
341  0x00006fd8 0x00015fd8 GLOBAL FUNC   12   __locale_msgcharset
342  0x00001204 0x00010204 GLOBAL FUNC   48   exit
343  0x0000d348 0x0001c348 GLOBAL FUNC   4272 _vfiprintf_r
344  0x00006e5c 0x00015e5c GLOBAL FUNC   192  _fwalk_reent
345  0x00012284 0x00021284 GLOBAL FUNC   212  __floatunsisf
346  0x00008908 0x00017908 GLOBAL FUNC   520  __mdiff
347  0x00016088 0x00025088 GLOBAL OBJ    8    __ctype_ptr__
348  0x0000623c 0x0001523c GLOBAL FUNC   4    __sfp_lock_release
349  0x000097fc 0x000187fc GLOBAL FUNC   184  __sccl
350  0x00012b48 0x00021b48 GLOBAL OBJ    257  _ctype_
351  0x00010814 0x0001f814 GLOBAL FUNC   20   openat
352  0x00011568 0x00020568 GLOBAL FUNC   72   __unorddf2
353  0x000160a8 0x000250a8 GLOBAL OBJ    8    __mbtowc
354  0x00011fb8 0x00020fb8 GLOBAL FUNC   212  __fpcmp_parts_f
355  0x00010b80 0x0001fb80 GLOBAL FUNC   28   _exit
356  0x00007014 0x00016014 GLOBAL FUNC   428  __smakebuf_r
357  0x00001514 0x00010514 GLOBAL FUNC   204  strlen
358  0x000107fc 0x0001f7fc GLOBAL FUNC   24   open
359  0x000114a8 0x000204a8 GLOBAL FUNC   88   __gedf2
360  0x0000e994 0x0001d994 GLOBAL FUNC   1936 __gethex
361  0x000160b0 0x000250b0 GLOBAL OBJ    8    __wctomb
362  0x0000d330 0x0001c330 GLOBAL FUNC   24   __sprint_r
363  0x00010770 0x0001f770 GLOBAL FUNC   92   _wctomb_r
365  0x000117f8 0x000207f8 GLOBAL FUNC   96   __clzdi2
366  0x00011004 0x00020004 GLOBAL FUNC   84   __subdf3
367  0x000015e0 0x000105e0 GLOBAL FUNC   7288 _vfprintf_r
368  0x00008338 0x00017338 GLOBAL FUNC   176  __lo0bits
369  0x0000332c 0x0001232c GLOBAL FUNC   4476 __svfscanf_r
370  ---------- 0x00025168 GLOBAL NOTYPE 0    _fbss
371  0x0000d068 0x0001c068 GLOBAL FUNC   460  _ungetc_r
373  0x00010688 0x0001f688 GLOBAL FUNC   184  wcrtomb
374  0x000108fc 0x0001f8fc GLOBAL FUNC   32   close
375  0x00011c4c 0x00020c4c GLOBAL FUNC   72   __addsf3
376  0x00010d8c 0x0001fd8c GLOBAL FUNC   332  __pack_d
377  0x00003258 0x00012258 GLOBAL FUNC   20   vfprintf
378  0x0000e824 0x0001d824 GLOBAL FUNC   120  fputwc
380  0x00006240 0x00015240 GLOBAL FUNC   4    __sinit_lock_acquire
381  0x00008080 0x00017080 GLOBAL FUNC   272  __multadd
382  0x0000805c 0x0001705c GLOBAL FUNC   36   _Bfree
EOF
CMDS=<<EOF
is
EOF
RUN

NAME=ELF: riscv64: file format
FILE=../bins/elf/analysis/guess-number-riscv64
EXPECT=<<EOF
fd       3
file     ../bins/elf/analysis/guess-number-riscv64
size     0x9d5a8
humansz  629.4K
mode     r-x
format   elf64
iorw     false
blksz    0x0
block    0x100
type     EXEC (Executable file)
arch     riscv
baddr    0x10000
binsz    643108
bintype  elf
bits     64
canary   false
class    ELF64
compiler GCC: (GNU) 5.2.0
crypto   false
endian   little
havecode true
laddr    0x0
lang     c
linenum  true
lsyms    true
machine  RISC V
nx       false
os       linux
pic      false
relocs   true
rpath    NONE
sanitiz  false
static   true
stripped false
subsys   linux
va       true
EOF
CMDS=<<EOF
if
EOF
RUN

NAME=ELF: riscv64: main analysis
FILE=../bins/elf/analysis/guess-number-riscv64
EXPECT=<<EOF
/ (fcn) main 140
|           ; arg int64_t arg_18h @ s0+0x18
|           ; arg int64_t arg_0h @ sp+0x20
|           0x00010150      130101fe       addi sp, sp, -32
|           0x00010154      233c1100       sd ra, 24(sp)
|           0x00010158      23388100       sd s0, 16(sp)
|           0x0001015c      13040102       addi s0, sp, 32
|           0x00010160      9307b007       li a5, 123
|           0x00010164      2326f4fe       sw a5, -20(s0)
|           0x00010168      9307f0ff       li a5, -1
|           0x0001016c      2324f4fe       sw a5, -24(s0)
|           0x00010170      b7170200       lui a5, 0x21
|           0x00010174      1385874f       addi a0, a5, 1272
|           0x00010178      ef00c01f       jal ra, sym.printf
|           0x0001017c      930784fe       addi a5, s0, -24
|           0x00010180      93850700       mv a1, a5
|           0x00010184      b7170200       lui a5, 0x21
|           0x00010188      13850751       addi a0, a5, 1296
|           0x0001018c      ef00402f       jal ra, sym.scanf
|           0x00010190      032784fe       lw a4, -24(s0)
|           0x00010194      8327c4fe       lw a5, -20(s0)
|       ,=< 0x00010198      631cf700       bne a4, a5, 0x101b0
|       |   0x0001019c      b7170200       lui a5, 0x21
|       |   0x000101a0      13858751       addi a0, a5, 1304
|       |   0x000101a4      ef00002d       jal ra, sym.puts
|       |   0x000101a8      93070000       li a5, 0
|       |   0x000101ac      6f000003       j 0x101dc
|       `-> 0x000101b0      032784fe       lw a4, -24(s0)
|           0x000101b4      8327c4fe       lw a5, -20(s0)
|       ,=< 0x000101b8      635af700       ble a5, a4, 0x101cc
|       |   0x000101bc      b7170200       lui a5, 0x21
|       |   0x000101c0      13858752       addi a0, a5, 1320
|       |   0x000101c4      ef00002b       jal ra, sym.puts
|       |   0x000101c8      6ff09ffa       j 0x10170
|       `-> 0x000101cc      b7170200       lui a5, 0x21
|           0x000101d0      13858753       addi a0, a5, 1336
|           0x000101d4      ef00002a       jal ra, sym.puts
\           0x000101d8      6ff09ff9       j 0x10170
EOF
CMDS=<<EOF
e asm.calls=false;s sym.main;af;pdf
EOF
RUN

NAME=ELF: riscv64: full analysis
FILE=../bins/elf/analysis/guess-number-riscv64
ARGS=-A
EXPECT=<<EOF
            ; CALL XREF from entry0 @ 0x10040
/ (fcn) main 140
|           ; arg int64_t arg_18h @ s0+0x18
|           ; arg int64_t arg_0h @ sp+0x20
|           0x00010150      130101fe       addi sp, sp, -32
|           0x00010154      233c1100       sd ra, 24(sp)
|           0x00010158      23388100       sd s0, 16(sp)
|           0x0001015c      13040102       addi s0, sp, 32
|           0x00010160      9307b007       li a5, 123
|           0x00010164      2326f4fe       sw a5, -20(s0)
|           0x00010168      9307f0ff       li a5, -1
|           0x0001016c      2324f4fe       sw a5, -24(s0)
|           0x00010170      b7170200       lui a5, 0x21
|           0x00010174      1385874f       addi a0, a5, 1272           ; const char *format
|           0x00010178      ef00c01f       jal ra, sym.printf
|           0x0001017c      930784fe       addi a5, s0, -24
|           0x00010180      93850700       mv a1, a5
|           0x00010184      b7170200       lui a5, 0x21
|           0x00010188      13850751       addi a0, a5, 1296           ; const char *format
|           0x0001018c      ef00402f       jal ra, sym.scanf
|           0x00010190      032784fe       lw a4, -24(s0)
|           0x00010194      8327c4fe       lw a5, -20(s0)
|       ,=< 0x00010198      631cf700       bne a4, a5, 0x101b0
|       |   0x0001019c      b7170200       lui a5, 0x21
|       |   0x000101a0      13858751       addi a0, a5, 1304           ; const char *s
|       |   0x000101a4      ef00002d       jal ra, sym.puts
|       |   0x000101a8      93070000       li a5, 0
|       |   0x000101ac      6f000003       j 0x101dc
|       |   ; CODE XREF from main @ 0x10198
|       `-> 0x000101b0      032784fe       lw a4, -24(s0)
|           0x000101b4      8327c4fe       lw a5, -20(s0)
|       ,=< 0x000101b8      635af700       ble a5, a4, 0x101cc
|       |   0x000101bc      b7170200       lui a5, 0x21
|       |   0x000101c0      13858752       addi a0, a5, 1320           ; const char *s
|       |   0x000101c4      ef00002b       jal ra, sym.puts
|       |   0x000101c8      6ff09ffa       j 0x10170
|       |   ; CODE XREF from main @ 0x101b8
|       `-> 0x000101cc      b7170200       lui a5, 0x21
|           0x000101d0      13858753       addi a0, a5, 1336           ; const char *s
|           0x000101d4      ef00002a       jal ra, sym.puts
\           0x000101d8      6ff09ff9       j 0x10170
EOF
CMDS=<<EOF
e asm.calls=false;s sym.main;pdf
EOF
RUN
