You're getting the emails because somebody (if not you)
explicitly requested membership in the crash-utility(a)redhat.com
mailing list for:
computerworkshelp(a)yahoo.com
I'll remove your membership.
Dave Anderson (list moderator)
From: Dave Anderson <anderson(a)redhat.com>
To: holzheu(a)linux.vnet.ibm.com
Cc: crash <crash-utility(a)redhat.com>
Sent: Thursday, September 15, 2011 8:24 AM
Subject: Re: [Crash-utility] [PATCH] s390: Fix printing of control and
floating point registers
----- Original Message -----
> Hi Dave,
>
> Control registers 8-15 (s390x and s390) and floating point registers
> 8-15
> (s390x only) are not printed correctly because the we copy the
> content from
> the wrong location of the save area.
>
> Looks like nobody has realized this problem in the past because
> those
> registers are not too important for debugging kernel problems...
>
> This patch fixes this problem and now control and floating point
> registers
> are printed correctly.
>
> Signed-off-by: Michael Holzheu < holzheu(a)linux.vnet.ibm.com >
Hi Michael,
The "ULONG(ptr + 8)" below doesn't seem right:
> --- a/s390.c
> +++ b/s390.c
> @@ -861,16 +861,16 @@ s390_print_lowcore(char* lc, struct bt_i
> fprintf(fp," %#010lx %#010lx %#010lx %#010lx\n",
> tmp[0], tmp[1], tmp[2], tmp[3]);
>
> - tmp[0]=ULONG(ptr);
> - tmp[1]=ULONG(ptr + S390_WORD_SIZE);
> - tmp[2]=ULONG(ptr + 2 * S390_WORD_SIZE);
> - tmp[3]=ULONG(ptr + 3 * S390_WORD_SIZE);
> + tmp[0]=ULONG(ptr + 8);
> + tmp[1]=ULONG(ptr + 9 * S390_WORD_SIZE);
> + tmp[2]=ULONG(ptr + 10 * S390_WORD_SIZE);
> + tmp[3]=ULONG(ptr + 11 * S390_WORD_SIZE);
And here as well:
> --- a/s390x.c
> +++ b/s390x.c
> @@ -1184,16 +1184,16 @@ s390x_print_lowcore(char* lc, struct bt_
> tmp[3]=ULONG(ptr + 7 * S390X_WORD_SIZE);
> fprintf(fp," %#018lx %#018lx\n", tmp[0],tmp[1]);
> fprintf(fp," %#018lx %#018lx\n", tmp[2],tmp[3]);
> - tmp[0]=ULONG(ptr);
> - tmp[1]=ULONG(ptr + S390X_WORD_SIZE);
> - tmp[2]=ULONG(ptr + 2 * S390X_WORD_SIZE);
> - tmp[3]=ULONG(ptr + 3 * S390X_WORD_SIZE);
> + tmp[0]=ULONG(ptr + 8);
> + tmp[1]=ULONG(ptr + 9 * S390X_WORD_SIZE);
> + tmp[2]=ULONG(ptr + 10 * S390X_WORD_SIZE);
> + tmp[3]=ULONG(ptr + 11 * S390X_WORD_SIZE);
Shouldn't they both be:
tmp[0]=ULONG(ptr + 8 * S390_WORD_SIZE);
Dave
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility