[PATCH 2/2] powerpc: Reverse stack frame marker on little endian

Nicholas Piggin npiggin at gmail.com
Wed Sep 28 13:13:14 AEST 2022


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 at ellerman.id.au>

Both look fine to me.

Acked-by: Nicholas Piggin <npiggin at 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



More information about the Linuxppc-dev mailing list