----- Original Message -----
----- Original Message -----
> From: Dave Anderson <anderson(a)redhat.com>
> Subject: Re: [Crash-utility] [ANNOUNCE] crash gcore command, version
> 1.3.0-rc
> is released
> Date: Wed, 15 Oct 2014 15:11:44 -0400
>
> >
> >
> > ----- Original Message -----
> >>
> >>
> >> (2014/10/14 22:34), Dave Anderson wrote:
> >> >
> >> > Hello Daisuke,
> >> >
> >> > Thanks for the update -- I will post my results later.
> >> >
> >> > However, I note that you did not make the small ARM64 update
> >> > that I emailed to you last week:
> >> >
> >> > This should be changed:
> >> >
> >> > #ifdef ARM64
> >> > #define ELF_EXEC_PAGESIZE 4096
> >> >
> >> > to:
> >> >
> >> > #ifdef ARM64
> >> > #define ELF_EXEC_PAGESIZE PAGESIZE()
> >> >
> >> > Please make that change.
> >> >
> >>
> >> I'll merge this in the next rc release.
> >
> > OK good -- thanks.
> >
> > I have successfully tested this version (with the fix above) on ARM64
> > kernels configured with 4K and 64K pages, and also when the gcore module
> > is built and run on an x86_64 host with an ARM64 target.
> >
>
> Thanks.
>
> > Another question: another engineer here at Red Hat has recently
> > created a crash-gcore-command patch that implements support for PPC64,
> > both big-endian and little-endian. May we post that patch for inclusion
> > in version 1.3.0?
> >
>
> Sure. It's no problem to merge PPC64 patche. Please post it.
>
> However, as you've understood, I have no PPC64 system. I cannot test
> PPC64 arch at all.
>
> Also, who will maintain the PPC64 code? The engineer? or you'll do it
> in addition to ARM64?
Correct, support for both architectures will come from here (Red Hat)
since they eventually will be RHEL packages. IBM would also be interested
in the PPC64 flavors.
Thanks,
Dave
While sanity-checking the proposed PPC64 patch, I see that there is a small bug
in the current crash-gcore-command-1.3.0-rc code w/respect to the ELF header
contents:
The four architectures currently have these #defines:
libgcore/gcore_defs.h ELF_DATA 40 #define ELF_DATA ELFDATA2LSB
libgcore/gcore_defs.h ELF_DATA 60 #define ELF_DATA ELFDATA2LSB
libgcore/gcore_defs.h ELF_DATA 80 #define ELF_DATA ELFDATA2LSB
libgcore/gcore_defs.h ELF_DATA 100 #define ELF_DATA ELFDATA2LSB
But the ELF_DATA #define is not used, but rather the two ELF header fill functions
hardwire it to ELFDATA2LSB:
libgcore/gcore_elf_struct.c elf64_fill_elf_header 47 e->e_ident[EI_DATA] =
ELFDATA2LSB;
libgcore/gcore_elf_struct.c elf32_fill_elf_header 220 e->e_ident[EI_DATA] =
ELFDATA2LSB;
That's OK for the other 4 architectures, but the PPC64 architecture will need to be
either be ELFDATA2LSB or ELFDATA2MSB based upon whether it's ppc64le or not.
Dave