[Crash-utility] [UPDATED PATCH] [ppc] Enable stack trace analysis for compressed Kdump

Dave Anderson anderson at redhat.com
Thu Feb 2 14:30:11 UTC 2012



----- Original Message -----
> Dave,
> 
> I have updated the patch below as per your suggestion.

No problem -- I had already modified that part with machine_type("PPC")
prior to my x86/x86_64 testing, which went fine.  

The patch is queued for crash-6.0.3.

Thanks,
  Dave
 
> ---
> In both Kdump and Compressed Kdump cores, we have the NT_PRSTATUS
> notes available for the active tasks and we use them for getting the
> stack trace. So reuse the function for compressed Kdump.
> 
> Signed-off-by: Suzuki K. Poulose <suzuki at in.ibm.com>
> ---
> 
>  netdump.c |    5 +++++
>  ppc.c     |    7 +++++--
>  2 files changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/netdump.c b/netdump.c
> index d23e45c..fe09734 100644
> --- a/netdump.c
> +++ b/netdump.c
> @@ -1696,6 +1696,11 @@ dump_Elf32_Nhdr(Elf32_Off offset, int store)
>  				}
>  			}
>  		}
> +#ifdef PPC
> +		/* Set the flags to indicate that we have NT_PRSTATUS notes */
> +		if (nd->num_prstatus_notes > 0)
> +			pc->flags2 |= ELF_NOTES;
> +#endif
>  		break;
>  	case NT_PRPSINFO:
>  		netdump_print("(NT_PRPSINFO)\n");
> diff --git a/ppc.c b/ppc.c
> index 78c9178..9e704d0 100755
> --- a/ppc.c
> +++ b/ppc.c
> @@ -1193,8 +1193,11 @@ ppc_dumpfile_stack_frame(struct bt_info *bt,
> ulong *getpc, ulong *getsp)
>  {
>  	struct syment *sp;
>  
> -	/* For KDUMP get the SP, PC from pt_regs stored in the core */
> -	if (pc->flags & KDUMP) {
> +	/*
> +	 * For KDUMP and compressed KDUMP get the SP, PC from pt_regs
> +	 * read from the Elf Note.
> +	 */
> +	if (ELF_NOTES_VALID()) {
>  		ppc_kdump_stack_frame(bt, getpc, getsp);
>  		return;
>  	}
> 
> 




More information about the Crash-utility mailing list