On Thu, May 25, 2006, Daniel Jacobowitz wrote: > On Thu, May 25, 2006 at 05:50:56PM -0700, Tony Lin wrote: > > [2.4] > > > /* > > * saved cp0 registers > > */ > > unsigned long cp0_epc; > > unsigned long cp0_badvaddr; > > unsigned long cp0_status; > > unsigned long cp0_cause; > > [2.6] > > > /* Saved special registers. */ > > unsigned long cp0_status; > > unsigned long lo; > > unsigned long hi; > > unsigned long cp0_badvaddr; > > unsigned long cp0_cause; > > unsigned long cp0_epc; > > > Notice how the offsets has changed, no idea why this was done. I > > loaded the core file in the hex dump, and sure enough it is dumped > > with this new ordering. > > > > I guess gdb is still trying to decode using the old pt_regs format. Is > > it correct to modify gdb to use this new format? Or modify linux to > > output using the old format? BTW, buildroot has a 400-mips-coredump.patch-2.4.23-29 patch. http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/trunk/buildroot/toolchain/gdb/ However, I've built a toolchain using gcc-3.4.4, uClibc 0.9.27-cvs, gdb 6.3, kernel 2.6.13, and I had to build without the buildroot 400-mips-coredump.patch-2.4.23-29 patch. Without it my gdb can read coredumps without problems. Johannes