0x%016lx format causes a lot of unnecessary zero-padding on ppc32, so
let's use %p instead.

Before:

--- Exception: c00095c8 at 0xc02cff60 : _edata+0x1f60/0x2000 [kernel]
    LR =0xc02aef58 : per_cpu__runqueues+0x0/0x400 [kernel]
[0x00000000c02cfed0] [0x00000000c00113fc] 0xc00113fc : ret_from_except+0x0/0x14 
[kernel] (unreliable)

After:

--- Exception: c00095c8 at 0xc02cff60 : _edata+0x1f60/0x2000 [kernel]
    LR =0xc02aef58 : per_cpu__runqueues+0x0/0x400 [kernel]
[0xc02cfed0] [0xc00113fc] 0xc00113fc : ret_from_except+0x0/0x14 [kernel] 
(unreliable)

p.s.
Note that the second and the third columns are dups, this is because
_stp_symbol_print(ip) also prints ip. Though, for now I wouldn't touch
this since I'm not sure if anybody depends on the current columns count
or "[]" around addresses.

Signed-off-by: Anton Vorontsov <avoront...@ru.mvista.com>
---
 runtime/stack-ppc.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/runtime/stack-ppc.c b/runtime/stack-ppc.c
index df2db15..e3b3ede 100644
--- a/runtime/stack-ppc.c
+++ b/runtime/stack-ppc.c
@@ -24,14 +24,15 @@ static void __stp_stack_print (struct pt_regs *regs, int 
verbose, int levels,
                ip = _sp[STACK_FRAME_LR_SAVE];
                if (!firstframe || ip != lr) {
                        if (verbose) {
-                               _stp_printf("[0x%016lx] [0x%016lx] ", sp, ip);
+                               _stp_printf("[%p] [%p] ",
+                                           (int64_t)sp, (int64_t)ip);
                                _stp_symbol_print(ip);
                                if (firstframe)
                                        _stp_print(" (unreliable)");
                                _stp_print_char('\n');
                        }
                        else
-                               _stp_printf("0x%016lx ", ip);
+                               _stp_printf("%p ", (int64_t)ip);
                }
                firstframe = 0;
                /*
@@ -52,8 +53,8 @@ static void __stp_stack_print (struct pt_regs *regs, int 
verbose, int levels,
                                firstframe = 1;
                        }
                        else {
-                               _stp_printf("0x%016lx ",regs->nip);
-                               _stp_printf("0x%016lx ",regs->link);
+                               _stp_printf("%p ", (int64_t)regs->nip);
+                               _stp_printf("%p ", (int64_t)regs->link);
                        }
                }
 
-- 
1.6.3.3
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to