Open knightLee opened 1 year ago
The reason why the function is split in that jump is because the destination have a symbol. so it's "correct", but wonder why there's a simbol in a basic block. there are configuration options to circumvent that case, but yeah thats not common construction, can you share this elf?
For security constraint, I can not provide you ELF file. As to the configuration options, I have tested the following ones, some will hang the execution of radare2. e anal.hasnext = true # hang e anal.datarefs = true e anal.jmp.cref = true e anal.jmp.ref = true e anal.jmp.indir = true e anal.jmp.tbl = true
What's the prossibly working options, I can give a try?
Can you try with latest r2 from git?
Environment
$ date Mon, Oct 16, 2023 10:35:45 AM
$ radare2.exe -v radare2 5.8.8 1 @ windows-x86-64 birth: git.5.8.8 Thu 06/08/2023__14:01:37.60 commit: ea7f0356519884715cf1d5fba16042bac72b2df5 options: gpl -O? cs:5 cl:1 meson
$ uname -ms MINGW64_NT-10.0-19044 x86_64
Description
size and realsize field of function block information goes wrong.
with pdf,we can see sym.osIdleTask ends at 0x0804d152, not 0x804d124
And with agcj, I can only get a only part of function callgraph of sym.osIdleTask, which starts from 0x804d114 and ends at 0x804d124( What I expected is 0x804d152).
Test
The ELF file is compiled with IAR Embedded Workbench. And for security constraint, I can not provide you ELF file.