-
Notifications
You must be signed in to change notification settings - Fork 845
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nextcall
is broken on ARM
#1419
Comments
This change fixes both pwndbg#1419 and pwndbg#1554 by adding a special case that checks for the `bl` mnemonic in both `ARM` and `ARM64` targets. This workaround is needed because, even though Capstone doesn't mark `bl` instructions as belonging to `CS_GRP_CALL`, we'd still like to handle them as as call instructions for the purposes of displaying function arguments and `nextcall`.
I think this should be fixed, but would be good if someone could confirm (@DarkRyu550?) |
Also, maybe we should add a test for this before closing? |
Double checked that and it works. However, there is some quirk/gotcha: if u try to execute |
Closing this for now. We may implement a test in the future but idk if we will |
nextcall
/stepcall
don't work on ARM. Inbreak_next_call
inpwndbg/gdblib/next.py
, we check for calls like this:Unfortunately, the
bl
instruction is only classified asbranch_relative
andjump
, but notcall
. We should probably report this upstream to Capstone, though I have a feeling this intentional.In any case, we'll have to directly check the mnemonic matches 'bl' on ARM.
The text was updated successfully, but these errors were encountered: