You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using Ghidra 9 (initially 9.0.2 now 9.1) to decompile a test case incorporating glibc as built by us for ARM7 LE w Thumb including debug symbols. Unfortunately the analysis of the library seems to produce an inordinate number of Non-Returning Function Found listings for such code as: syscall() where SVC would seem to indicate a terminus; or strlen() where SEL would seem to indicate a false resulting in the loop never breaking. Manual intervention fixed the former, the latter would seem to be a larger issue in the pcode interpretation. There are numerous other examples, for which I can either send the bash build scripts to recreate the binaries and/or the binaries themselves if this would aid in debugging.
Similar issues when attempting to analyze executables arise even when compiled without Thumb instructions, wherein thunked code would seem to be marked no return for such innocuous functions as atoi(). Unmarking an example function, selecting the flows to, then attempting to clear flow and repair had formerly corrected the calls; but now typically remarks the thunk then all the calling code resulting in the same premature flow termination in the decompile.
If there are any workarounds or tests that I can help preform to understand the cause of this, please do not hesitate to contact me. Thanks!
This discussion was converted from issue #1203 on March 21, 2023 14:47.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Using Ghidra 9 (initially 9.0.2 now 9.1) to decompile a test case incorporating glibc as built by us for ARM7 LE w Thumb including debug symbols. Unfortunately the analysis of the library seems to produce an inordinate number of Non-Returning Function Found listings for such code as: syscall() where SVC would seem to indicate a terminus; or strlen() where SEL would seem to indicate a false resulting in the loop never breaking. Manual intervention fixed the former, the latter would seem to be a larger issue in the pcode interpretation. There are numerous other examples, for which I can either send the bash build scripts to recreate the binaries and/or the binaries themselves if this would aid in debugging.
Similar issues when attempting to analyze executables arise even when compiled without Thumb instructions, wherein thunked code would seem to be marked no return for such innocuous functions as atoi(). Unmarking an example function, selecting the flows to, then attempting to clear flow and repair had formerly corrected the calls; but now typically remarks the thunk then all the calling code resulting in the same premature flow termination in the decompile.
If there are any workarounds or tests that I can help preform to understand the cause of this, please do not hesitate to contact me. Thanks!
Beta Was this translation helpful? Give feedback.
All reactions