Message ID | 20220927150419.1503001-2-mpe@ellerman.id.au (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [1/2] powerpc: Make stack frame marker upper case | expand |
On Wed Sep 28, 2022 at 1:04 AM AEST, Michael Ellerman wrote: > On little endian the stack frame marker appears reserved when dumping > memory sequentially, as is typical in xmon or gdb, eg: > > c000000004733e40 0000000000000000 0000000000000000 |................| > c000000004733e50 0000000000000000 0000000000000000 |................| > c000000004733e60 0000000000000000 0000000000000000 |................| > c000000004733e70 5347455200000000 0000000000000000 |SGER............| > c000000004733e80 a700000000000000 708897f7ff7f0000 |........p.......| > c000000004733e90 0073428fff7f0000 208997f7ff7f0000 |.sB..... .......| > c000000004733ea0 0100000000000000 ffffffffffffffff |................| > c000000004733eb0 0000000000000000 0000000000000000 |................| > > To make it easier to recognise, reverse the value on little endian, so > it always appears as "REGS", eg: > > c000000004733e70 5245475300000000 0000000000000000 |REGS............| > > Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Both look fine to me. Acked-by: Nicholas Piggin <npiggin@gmail.com> > --- > arch/powerpc/include/asm/ptrace.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/arch/powerpc/include/asm/ptrace.h b/arch/powerpc/include/asm/ptrace.h > index 6c23d1d25dc7..2efec6d87049 100644 > --- a/arch/powerpc/include/asm/ptrace.h > +++ b/arch/powerpc/include/asm/ptrace.h > @@ -99,7 +99,12 @@ struct pt_regs > > #define STACK_FRAME_WITH_PT_REGS (STACK_FRAME_OVERHEAD + sizeof(struct pt_regs)) > > +// Always displays as "REGS" in memory dumps > +#ifdef CONFIG_CPU_BIG_ENDIAN > #define STACK_FRAME_REGS_MARKER ASM_CONST(0x52454753) > +#else > +#define STACK_FRAME_REGS_MARKER ASM_CONST(0x53474552) > +#endif > > #ifdef __powerpc64__ > > -- > 2.37.3
diff --git a/arch/powerpc/include/asm/ptrace.h b/arch/powerpc/include/asm/ptrace.h index 6c23d1d25dc7..2efec6d87049 100644 --- a/arch/powerpc/include/asm/ptrace.h +++ b/arch/powerpc/include/asm/ptrace.h @@ -99,7 +99,12 @@ struct pt_regs #define STACK_FRAME_WITH_PT_REGS (STACK_FRAME_OVERHEAD + sizeof(struct pt_regs)) +// Always displays as "REGS" in memory dumps +#ifdef CONFIG_CPU_BIG_ENDIAN #define STACK_FRAME_REGS_MARKER ASM_CONST(0x52454753) +#else +#define STACK_FRAME_REGS_MARKER ASM_CONST(0x53474552) +#endif #ifdef __powerpc64__
On little endian the stack frame marker appears reserved when dumping memory sequentially, as is typical in xmon or gdb, eg: c000000004733e40 0000000000000000 0000000000000000 |................| c000000004733e50 0000000000000000 0000000000000000 |................| c000000004733e60 0000000000000000 0000000000000000 |................| c000000004733e70 5347455200000000 0000000000000000 |SGER............| c000000004733e80 a700000000000000 708897f7ff7f0000 |........p.......| c000000004733e90 0073428fff7f0000 208997f7ff7f0000 |.sB..... .......| c000000004733ea0 0100000000000000 ffffffffffffffff |................| c000000004733eb0 0000000000000000 0000000000000000 |................| To make it easier to recognise, reverse the value on little endian, so it always appears as "REGS", eg: c000000004733e70 5245475300000000 0000000000000000 |REGS............| Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> --- arch/powerpc/include/asm/ptrace.h | 5 +++++ 1 file changed, 5 insertions(+)