On 01/04/12 01:40, Dave Anderson wrote:
----- Original Message -----
> The following series implements the kdump core analysis support
> for PPC32. I have posted the KDUMP kernel support patches for PPC440x
> here :
>
http://lists.ozlabs.org/pipermail/linuxppc-dev/2011-December/094994.html
>
> You need upstream git snapshot of kexec-tools for kdump support on
> PPC440x.
>
> These patches are based on crash-6.0.2
>
> ---
>
> Suzuki K. Poulose (3):
> [ppc] Enable stack trace display for KDUMP cores
> [ppc][netdump] Read register set from ELF Note
> [ppc] Support PPC32 Core analysis on PPC64 host
>
>
> configure.c | 14 ++++++++
> netdump.c | 77 +++++++++++++++++++++++++++++++++++++++++++++
> ppc.c | 101
> +++++++++++++++++++++++++++++++++++++++++++++++++++--------
> 3 files changed, 178 insertions(+), 14 deletions(-)
>
> --
> Suzuki Poulose
Like the target=X86 and target=ARM builds on x86_64, I installed
several extra required libraries (glibc-devel.ppc, libgcc.ppc,
ncurses-libs.ppc, ncurses-devel.ppc and zlib-static.ppc), and
I finally got it to build OK with "setarch ppc make target=PPC".
However, I forgot the "setarch ppc" the first time I built
it, and
it went ahead and built everything with both "-m64" and "-m32" set,
ending up with an (unwanted) 64-bit binary. So it might be worth
preventing that in configure.c? I'll leave that up to you.
We have to fix this in gdb-7.3.1.patch and the Makefile, which hard codes
"-m64" based on the value of 'arch'. Have done this in the next
version.
But there are several compiler complaints (some are actual errors)
with the updated ppc.c file that need to be fixed:
...
cc -c -g -DPPC -m32 -D_FILE_OFFSET_BITS=64 -fPIC -DGDB_7_3_1 ppc.c -Wall -O2
-Wstrict-prototypes -Wmissing-prototypes -fstack-protector
ppc.c: In function ‘ppc_kdump_stack_frame’:
ppc.c:1142: warning: too many arguments for format
ppc.c:1167: warning: ‘return’ with a value, in function returning void
ppc.c: In function ‘get_ppc_frame’:
ppc.c:1259: warning: unused variable ‘offset’
ppc.c: In function ‘ppc_dump_irq’:
ppc.c:1354: warning: the address of ‘typename’ will always evaluate as ‘true’
ppc.c:1468: warning: the address of ‘typename’ will always evaluate as ‘true’
ppc.c: At top level:
ppc.c:1239: warning: ‘ppc_get_pc’ defined but not used
ppc.c:1223: warning: ‘ppc_get_sp’ defined but not used
...
Can you fix these so that "make warn" will compile it cleanly?
Yep, done. I will send the new version with the changes.
Thanks
Suzuki