Skip to content

Instantly share code, notes, and snippets.

@etaf
Last active May 14, 2020 05:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save etaf/6beff8a56aff0ddce6d13f32b8f61e1d to your computer and use it in GitHub Desktop.
Save etaf/6beff8a56aff0ddce6d13f32b8f61e1d to your computer and use it in GitHub Desktop.
arm framepointer stacktrace
prologue:
mov ip, sp
stmdb sp!, {fp, ip, lr, pc}
sub fp, ip, #4
epilogue:
ldm sp, {fp, sp, pc}
======
==stack====
prologue:
... <-----pre_sp
pre_pc, <-----fp
pre_lr // lr of last frame's return address
pre_sp // sp of last frame's sp
pre_fp // fp of last frame's fp
<-----sp
epilogue:
fp = pre_fp
sp = pre_sp
pc = pre_lr
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment