summaryrefslogtreecommitdiffstats
path: root/gnu
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2010-02-20 17:29:27 +0000
committerrrs <rrs@FreeBSD.org>2010-02-20 17:29:27 +0000
commit05a9cdef84b57c849b3d46cc3396c5bc985b02f4 (patch)
treec0b4a569796d9fa61d54eb5c7fe7b63d4dd8cdce /gnu
parentb41b03a2e00f8a2bc31f957f52bd31365caa5f32 (diff)
downloadFreeBSD-src-05a9cdef84b57c849b3d46cc3396c5bc985b02f4.zip
FreeBSD-src-05a9cdef84b57c849b3d46cc3396c5bc985b02f4.tar.gz
These contain JC's patch to get gdb sort of working
on mips. Its not fully done yet but its a start. Obtained from: JC - c.jayachandran@gmail.com M gnu/usr.bin/gdb/kgdb/trgt_mips.c M gnu/usr.bin/gdb/arch/mips/init.c M gnu/usr.bin/gdb/arch/mips/Makefile M gnu/usr.bin/Makefile M contrib/gdb/gdb/mips-tdep.h
Diffstat (limited to 'gnu')
-rw-r--r--gnu/usr.bin/Makefile4
-rw-r--r--gnu/usr.bin/gdb/arch/mips/Makefile4
-rw-r--r--gnu/usr.bin/gdb/arch/mips/init.c4
-rw-r--r--gnu/usr.bin/gdb/kgdb/trgt_mips.c23
4 files changed, 17 insertions, 18 deletions
diff --git a/gnu/usr.bin/Makefile b/gnu/usr.bin/Makefile
index cc50659..bfb4d93 100644
--- a/gnu/usr.bin/Makefile
+++ b/gnu/usr.bin/Makefile
@@ -21,10 +21,6 @@ SUBDIR= ${_binutils} \
sort \
${_texinfo}
-.if ${MACHINE_ARCH} == "mips"
-MK_GDB=no # not yet
-.endif
-
.if ${MK_CXX} != "no"
_gperf= gperf
.if ${MK_GROFF} != "no"
diff --git a/gnu/usr.bin/gdb/arch/mips/Makefile b/gnu/usr.bin/gdb/arch/mips/Makefile
index ff05421..54180d9 100644
--- a/gnu/usr.bin/gdb/arch/mips/Makefile
+++ b/gnu/usr.bin/gdb/arch/mips/Makefile
@@ -1,10 +1,10 @@
# $FreeBSD$
.if !defined(GDB_CROSS_DEBUGGER)
-LIBSRCS+= mips-nat.c mips-nat.c mipsfbsd-nat.c
+LIBSRCS+= mipsfbsd-nat.c
.endif
LIBSRCS+= solib.c solib-svr4.c
-LIBSRCS+= mips-tdep.c mipsfbsd-tdep.c
+LIBSRCS+= mips-tdep.c mipsfbsd-tdep.c fbsd-proc.c
nm.h:
echo '#include "mips/nm-fbsd.h"' > ${.TARGET}
diff --git a/gnu/usr.bin/gdb/arch/mips/init.c b/gnu/usr.bin/gdb/arch/mips/init.c
index 3aa7ec5..27631f2 100644
--- a/gnu/usr.bin/gdb/arch/mips/init.c
+++ b/gnu/usr.bin/gdb/arch/mips/init.c
@@ -123,15 +123,19 @@ initialize_all_files (void)
_initialize_ser_pipe ();
_initialize_ser_tcp ();
#ifndef CROSS_DEBUGGER
+#if 0
_initialize_mipsfbsd_nat ();
_initialize_mips_nat ();
+#endif
_initialize_kernel_u_addr ();
_initialize_infptrace ();
_initialize_inftarg ();
_initialize_solib ();
_initialize_svr4_solib ();
+#if 0
_initialize_svr4_lm ();
#endif
+#endif
_initialize_remote ();
_initialize_dcache ();
_initialize_sr_support ();
diff --git a/gnu/usr.bin/gdb/kgdb/trgt_mips.c b/gnu/usr.bin/gdb/kgdb/trgt_mips.c
index 92d6f23..9782222 100644
--- a/gnu/usr.bin/gdb/kgdb/trgt_mips.c
+++ b/gnu/usr.bin/gdb/kgdb/trgt_mips.c
@@ -61,18 +61,17 @@ kgdb_trgt_fetch_registers(int regno __unused)
warnx("kvm_read: %s", kvm_geterr(kvm));
memset(&pcb, 0, sizeof(pcb));
}
- supply_register(MIPS_S0_REGNUM, (char *)&pcb.pcb_context.val[0]);
- supply_register(MIPS_S1_REGNUM, (char *)&pcb.pcb_context.val[1]);
- supply_register(MIPS_S2_REGNUM, (char *)&pcb.pcb_context.val[2]);
- supply_register(MIPS_S3_REGNUM, (char *)&pcb.pcb_context.val[3]);
- supply_register(MIPS_S4_REGNUM, (char *)&pcb.pcb_context.val[4]);
- supply_register(MIPS_S5_REGNUM, (char *)&pcb.pcb_context.val[5]);
- supply_register(MIPS_S6_REGNUM, (char *)&pcb.pcb_context.val[6]);
- supply_register(MIPS_S7_REGNUM, (char *)&pcb.pcb_context.val[7]);
- supply_register(MIPS_SP_REGNUM, (char *)&pcb.pcb_context.val[8]);
- supply_register(MIPS_SP_REGNUM, (char *)&pcb.pcb_context.val[8]);
- supply_register(MIPS_FP_REGNUM, (char *)&pcb.pcb_context.val[9]);
- supply_register(MIPS_RA_REGNUM, (char *)&pcb.pcb_context.val[10]);
+ supply_register(MIPS_S0_REGNUM, (char *)&pcb.pcb_context[0]);
+ supply_register(MIPS_S1_REGNUM, (char *)&pcb.pcb_context[1]);
+ supply_register(MIPS_S2_REGNUM, (char *)&pcb.pcb_context[2]);
+ supply_register(MIPS_S3_REGNUM, (char *)&pcb.pcb_context[3]);
+ supply_register(MIPS_S4_REGNUM, (char *)&pcb.pcb_context[4]);
+ supply_register(MIPS_S5_REGNUM, (char *)&pcb.pcb_context[5]);
+ supply_register(MIPS_S6_REGNUM, (char *)&pcb.pcb_context[6]);
+ supply_register(MIPS_S7_REGNUM, (char *)&pcb.pcb_context[7]);
+ supply_register(MIPS_SP_REGNUM, (char *)&pcb.pcb_context[8]);
+ supply_register(MIPS_FP_REGNUM, (char *)&pcb.pcb_context[9]);
+ supply_register(MIPS_RA_REGNUM, (char *)&pcb.pcb_context[10]);
}
void
OpenPOWER on IntegriCloud