diff options
author | Michael Neuling <mikey@neuling.org> | 2019-04-17 11:54:29 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.ibm.com> | 2019-05-15 16:22:23 +1000 |
commit | 68284c21173978e384f605954423a088b61c7540 (patch) | |
tree | b09fc8f3e5f88744887a43cdef9c48377aaeaff8 /external | |
parent | 901261bc7699be337bd61ad44b980850dff02189 (diff) | |
download | skiboot-68284c21173978e384f605954423a088b61c7540.zip skiboot-68284c21173978e384f605954423a088b61c7540.tar.gz skiboot-68284c21173978e384f605954423a088b61c7540.tar.bz2 |
mambo: Integrate addr2line into backtrace command
Gives nice output like this:
systemsim % bt
pc: 0xC0000000002BF3D4 _savegpr0_28+0x0
lr: 0xC00000000004E0F4 opal_call+0x10
stack:0x000000000041FAE0 0xC00000000004F054 opal_check_token+0x20
stack:0x000000000041FB50 0xC0000000000500CC __opal_flush_console+0x88
stack:0x000000000041FBD0 0xC000000000050BF8 opal_flush_console+0x24
stack:0x000000000041FC00 0xC0000000001F9510 udbg_opal_putc+0x88
stack:0x000000000041FC40 0xC000000000020E78 udbg_write+0x7c
stack:0x000000000041FC80 0xC0000000000B1C44 console_unlock+0x47c
stack:0x000000000041FD80 0xC0000000000B2424 register_console+0x320
stack:0x000000000041FE10 0xC0000000003A5328 register_early_udbg_console+0x98
stack:0x000000000041FE80 0xC0000000003A4F14 setup_arch+0x68
stack:0x000000000041FEF0 0xC0000000003A0880 start_kernel+0x74
stack:0x000000000041FF90 0xC00000000000AC60 start_here_common+0x1c
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'external')
-rw-r--r-- | external/mambo/mambo_utils.tcl | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/external/mambo/mambo_utils.tcl b/external/mambo/mambo_utils.tcl index 9870999..1defe95 100644 --- a/external/mambo/mambo_utils.tcl +++ b/external/mambo/mambo_utils.tcl @@ -402,12 +402,14 @@ proc bt { {sp 0} } { upvar #0 target_p p set lr [mysim cpu $p:$c:$t display spr pc] - puts "pc:\t\t\t\t$lr" + set sym [addr2func $lr] + puts "pc:\t\t\t\t$lr\t$sym" if { $sp == 0 } { set sp [mysim cpu $p:$c:$t display gpr 1] } set lr [mysim cpu $p:$c:$t display spr lr] - puts "lr:\t\t\t\t$lr" + set sym [addr2func $lr] + puts "lr:\t\t\t\t$lr\t$sym" set msr [mysim cpu $p:$c:$t display spr msr] set le [ expr $msr & 1 ] @@ -417,7 +419,8 @@ proc bt { {sp 0} } { set pa [ mysim cpu $p:$c:$t util dtranslate $sp ] set bc [ mem_display_64 $pa $le ] set lr [ mem_display_64 [ expr $pa + 16 ] $le ] - puts "stack:$pa \t$lr" + set sym [addr2func $lr] + puts "stack:$pa \t$lr\t$sym" if { $bc == 0 } { break } set sp $bc } |