This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Regcache changes broke MIPS
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: ac131313 at cygnus dot com, gdb at sources dot redhat dot com
- Date: Sat, 8 Dec 2001 23:40:27 -0500
- Subject: Regcache changes broke MIPS
A native MIPS/Linux GDB no longer starts.
The segfault is:
#0 0x004aab34 in mips_register_raw_size (reg_nr=268436760) at ../../src-gdblinks/gdb/mips-tdep.c:424
#1 0x005407a4 in build_regcache () at ../../src-gdblinks/gdb/regcache.c:789
#2 0x005407f4 in _initialize_regcache () at ../../src-gdblinks/gdb/regcache.c:803
#3 0x00526fcc in initialize_all_files () at init.c:94
#4 0x005197d0 in gdb_init (argv0=0x7fff7e00 "/opt/src/binutils/obj-src-mipshost/gdb/testsuite/../gdb")
at ../../src-gdblinks/gdb/top.c:2070
#5 0x00431a04 in captured_main (data=0x10000518) at ../../src-gdblinks/gdb/main.c:483
#6 0x005151c0 in do_catch_errors (uiout=0x10000518, data=0x720d58) at ../../src-gdblinks/gdb/top.c:491
#7 0x00515000 in catcher (func=0x51518c <do_catch_errors>, func_uiout=0x100021a0,
func_args=0x7fff7c90, func_val=0x7fff7c9c, func_caught=0x7fff7c98, errstring=0x70eadc "", mask=6)
at ../../src-gdblinks/gdb/top.c:423
#8 0x00515254 in catch_errors (func=0x100021a0 <def_uiout>, func_args=0x98,
errstring=0xa746e69 <Address 0xa746e69 out of bounds>, mask=1685217640)
at ../../src-gdblinks/gdb/top.c:503
#9 0x004329ac in main (argc=4396696, argv=0x7fff7cc0) at ../../src-gdblinks/gdb/main.c:725
at:
419 mips_register_raw_size (int reg_nr)
420 {
421 if (mips64_transfers_32bit_regs_p)
422 return REGISTER_VIRTUAL_SIZE (reg_nr);
423 else if (reg_nr >= FP0_REGNUM && reg_nr < FP0_REGNUM + 32
424 && FP_REGISTER_DOUBLE)
425 /* For MIPS_ABI_N32 (for example) we need 8 byte floating point
426 registers. */
427 return 8;
428 else
I assume that this is because the target has not been initialized yet:
#if GDB_MULTI_ARCH
#undef FP_REGISTER_DOUBLE
#define FP_REGISTER_DOUBLE (gdbarch_tdep (current_gdbarch)->mips_fp_register_double)
#endif
You can't use multi-arched macros from _initialize_regcache, I think.
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer