On Mon, Aug 22, 2005 at 05:08:20PM -0400, Dave Johnson wrote: > > I've been trying to fix core file support for 64bit kernel with o32 > userspace (working against 2.6.12 cvs tag). > > After applying the patch posted on 13 Feb 2005 from Daniel Jacobowitz > to fix binfmt_elfo32.c (any reason this didn't make it into CVS?), > I still ran into trouble with gdb not understanding the NT_PRSTATUS > header in the core file. > > While Dan's fix makes the kernel use elf32 definitions, gdb was still > getting confused by pr_reg contained in the core file. > > Dan's definition of ELF_CORE_COPY_REGS in binfmt_elfo32.c is copying > the registers using EF_R0 as 0 not 6 producing results into offset 0 > through 37 not 6 through 43 as gdb expects for 32bit core files. > > Below patch (applied after Dan's patch) writes the registers at offset > 6 making gdb much happier. FYI, this has all been rearranged since - it did this correctly at the time. I don't know why the patch was dropped. -- Daniel Jacobowitz CodeSourcery, LLC