diff options
| author | bunnei <bunneidev@gmail.com> | 2018-12-29 22:58:13 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-29 22:58:13 -0500 |
| commit | 331c252509aa6c7712d983b388ba3533d3047df1 (patch) | |
| tree | bdffbe558bab81adac706ed7ead2e6b91ed5a394 /src/core/arm/arm_interface.h | |
| parent | f80229b67671f87d3adcd3bcfc7b1fa14ee1eda3 (diff) | |
| parent | 22d4e106642ac9d6a0dabc700c4dcd47be08ff41 (diff) | |
Merge pull request #1847 from ogniK5377/backtrace-break
Print backtrace on svcBreak
Diffstat (limited to 'src/core/arm/arm_interface.h')
| -rw-r--r-- | src/core/arm/arm_interface.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h index 59da33f30..91d2b0f81 100644 --- a/src/core/arm/arm_interface.h +++ b/src/core/arm/arm_interface.h @@ -141,6 +141,14 @@ public: /// Prepare core for thread reschedule (if needed to correctly handle state) virtual void PrepareReschedule() = 0; + + /// fp (= r29) points to the last frame record. + /// Note that this is the frame record for the *previous* frame, not the current one. + /// Note we need to subtract 4 from our last read to get the proper address + /// Frame records are two words long: + /// fp+0 : pointer to previous frame record + /// fp+8 : value of lr for frame + void LogBacktrace(); }; } // namespace Core |
