diff options
Diffstat (limited to '')
-rw-r--r-- | lang/m3gdb/files/patch-af | 67 |
1 files changed, 64 insertions, 3 deletions
diff --git a/lang/m3gdb/files/patch-af b/lang/m3gdb/files/patch-af index a30c3972b895..5ab1e1b742e6 100644 --- a/lang/m3gdb/files/patch-af +++ b/lang/m3gdb/files/patch-af @@ -1,6 +1,58 @@ ---- kvm-fbsd.c.orig Sun Feb 7 04:36:10 1999 -+++ kvm-fbsd.c Wed Sep 8 10:38:14 1999 -@@ -835,9 +835,8 @@ +--- kvm-fbsd.c.orig Sun Feb 7 20:36:10 1999 ++++ kvm-fbsd.c Sat Sep 18 11:23:31 2004 +@@ -22,6 +22,7 @@ + #include <errno.h> + #include <signal.h> + #include <fcntl.h> ++#include <sys/types.h> + #include <sys/sysctl.h> + #include <sys/param.h> + #include <sys/time.h> +@@ -361,10 +362,19 @@ + struct user *uaddr; + + /* find the pcb for the current process */ ++#if defined(__FreeBSD__) && __FreeBSD__ >= 5 ++ if (cur_proc == NULL || kvread (&cur_proc->p_uarea, &uaddr)) ++#else + if (cur_proc == NULL || kvread (&cur_proc->p_addr, &uaddr)) ++#endif + error ("cannot read u area ptr for proc at %#x", cur_proc); ++#if defined(__FreeBSD__) && __FreeBSD__ >= 5 ++ if (read_pcb (core_kd, (CORE_ADDR)&uaddr->u_kproc.ki_pcb) < 0) ++ error ("cannot read pcb at %#x", &uaddr->u_kproc.ki_pcb); ++#else + if (read_pcb (core_kd, (CORE_ADDR)&uaddr->u_pcb) < 0) + error ("cannot read pcb at %#x", &uaddr->u_pcb); ++#endif + } + + static void +@@ -450,7 +451,11 @@ + kp = kvm_getprocs(core_kd, KERN_PROC_PID, paddr, &cnt); + if (!cnt) + error("invalid pid"); ++#if defined(__FreeBSD__) && __FreeBSD__ >= 5 ++ if (set_proc_context((CORE_ADDR)kp->ki_paddr)) ++#else + if (set_proc_context((CORE_ADDR)kp->kp_eproc.e_paddr)) ++#endif + error("invalid proc address"); + } + } +@@ -643,7 +644,11 @@ + return (0); + if (lp.p_pid != pid) + continue; ++#if defined(__FreeBSD__) && __FreeBSD__ >= 5 ++ kp.ki_paddr = p; ++#else + kp.kp_eproc.e_paddr = p; ++#endif + *cnt = 1; + return (1); + } +@@ -835,9 +836,8 @@ supply_register (6, (char *)&pcb.pcb_esi); supply_register (7, (char *)&pcb.pcb_edi); supply_register (PC_REGNUM, (char *)&pcb.pcb_eip); @@ -11,3 +63,12 @@ supply_register (15, (char *)&pcb.pcb_gs); /* XXX 80387 registers? */ +@@ -919,7 +919,7 @@ + #if 0 + kcore_stratum, /* to_stratum */ + #else +- NULL, /* haven't yet found this one... */ ++ 0, /* haven't yet found this one... */ + #endif + NULL, /* to_next */ + 0, /* to_has_all_memory */ |