Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH] Cross target core debugging: host=i386, Target=PPC
@ 2002-07-29 14:06 Martin Gadbois
  2002-07-29 14:59 ` Kevin Buettner
  2002-07-29 15:07 ` Kevin Buettner
  0 siblings, 2 replies; 16+ messages in thread
From: Martin Gadbois @ 2002-07-29 14:06 UTC (permalink / raw)
  To: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 703 bytes --]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Here's the result of the mailing list posting http://sources.redhat.com/ml/gdb/2002-05/msg00191.html
applied for PPC.
Apply patch against GDB 5.2, and you'll be able to debug core dumps on a Intel host from a PowerPC
target.

The OS for both is Linux.

PS: Please reply to me directly, as I am not a member of this list.

- --
==============
Martin Gadbois
S/W Developper
Colubris Networks Inc.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAj1FrMwACgkQ9Y3/iTTCEDnPJwCfYF9zY+QXN31wPM5dMQh2+cfX
Zx8AoKBo3dVSqRQx2en0gZUoJea/OhNI
=nrPR
-----END PGP SIGNATURE-----

[-- Attachment #2: gdb-5.2-ppc-cross-core.patch --]
[-- Type: text/plain, Size: 4311 bytes --]

diff -Naur gdb-5.2/gdb/config/powerpc/linux.mt gdb-5.2-ppc-core/gdb/config/powerpc/linux.mt
--- gdb-5.2/gdb/config/powerpc/linux.mt	Fri Oct 19 20:16:44 2001
+++ gdb-5.2-ppc-core/gdb/config/powerpc/linux.mt	Mon Jul 29 16:25:49 2002
@@ -1,5 +1,5 @@
 # Target: Motorola PPC on Linux
-TDEPFILES= rs6000-tdep.o ppc-linux-tdep.o solib.o solib-svr4.o solib-legacy.o
+TDEPFILES= rs6000-tdep.o ppc-linux-tdep.o solib.o solib-svr4.o solib-legacy.o corelow.o core-regset.o
 TM_FILE= tm-linux.h
 
 SIM_OBS = remote-sim.o
diff -Naur gdb-5.2/gdb/core-regset.c gdb-5.2-ppc-core/gdb/core-regset.c
--- gdb-5.2/gdb/core-regset.c	Fri Aug  3 17:34:01 2001
+++ gdb-5.2-ppc-core/gdb/core-regset.c	Mon Jul 29 15:45:28 2002
@@ -35,13 +35,6 @@
  */
 
 #include "defs.h"
-
-#include <time.h>
-#ifdef HAVE_SYS_PROCFS_H
-#include <sys/procfs.h>
-#endif
-#include <fcntl.h>
-#include <errno.h>
 #include "gdb_string.h"
 
 #include "inferior.h"
diff -Naur gdb-5.2/gdb/gregset.h gdb-5.2-ppc-core/gdb/gregset.h
--- gdb-5.2/gdb/gregset.h	Sun Feb 24 17:14:33 2002
+++ gdb-5.2-ppc-core/gdb/gregset.h	Mon Jul 29 15:45:43 2002
@@ -21,6 +21,20 @@
 #ifndef GREGSET_H
 #define GREGSET_H
 
+
+#define ELF_NGREG	48	/* includes nip, msr, lr, etc. */
+#define ELF_NFPREG	33	/* includes fpscr */
+#define ELF_NVRREG	33	/* includes vscr */
+
+typedef unsigned long elf_greg_t;
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+typedef double elf_fpreg_t;
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
+
+#define GDB_GREGSET_T elf_gregset_t
+#define GDB_FPREGSET_T elf_fpregset_t
+
 #ifndef GDB_GREGSET_T
 #define GDB_GREGSET_T gregset_t
 #endif
diff -Naur gdb-5.2/gdb/ppc-linux-tdep.c gdb-5.2-ppc-core/gdb/ppc-linux-tdep.c
--- gdb-5.2/gdb/ppc-linux-tdep.c	Sun Feb 24 17:31:19 2002
+++ gdb-5.2-ppc-core/gdb/ppc-linux-tdep.c	Mon Jul 29 14:59:24 2002
@@ -35,6 +35,7 @@
 #include "solib-svr4.h"
 #include "ppc-tdep.h"
 
+#include "gregset.h"
 /* The following two instructions are used in the signal trampoline
    code on GNU/Linux PPC.  */
 #define INSTR_LI_R0_0x7777	0x38007777
@@ -101,7 +102,61 @@
 #define PPC_LINUX_PT_FPR31 (PPC_LINUX_PT_FPR0 + 2*31)
 #define PPC_LINUX_PT_FPSCR (PPC_LINUX_PT_FPR0 + 2*32 + 1)
 
+#define FP0_REGNUM 32		/* FPR (Floating point) register 0 */
 static int ppc_linux_at_sigtramp_return_path (CORE_ADDR pc);
+
+#define SIZEOF_VRREGS 33*16+4
+typedef char gdb_vrregset_t[SIZEOF_VRREGS];
+
+
+static void
+supply_vrregset (gdb_vrregset_t *vrregsetp)
+{
+  int i;
+  struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+  int num_of_vrregs = tdep->ppc_vrsave_regnum - tdep->ppc_vr0_regnum + 1;
+  int vrregsize = REGISTER_RAW_SIZE (tdep->ppc_vr0_regnum);
+  int offset = vrregsize - REGISTER_RAW_SIZE (tdep->ppc_vrsave_regnum);
+
+  for (i = 0; i < num_of_vrregs; i++)
+    {
+      /* The last 2 registers of this set are only 32 bit long, not
+         128.  However an offset is necessary only for VSCR because it
+         occupies a whole vector, while VRSAVE occupies a full 4 bytes
+         slot.  */
+      if (i == (num_of_vrregs - 2))
+        supply_register (tdep->ppc_vr0_regnum + i,
+                         *vrregsetp + i * vrregsize + offset);
+      else
+        supply_register (tdep->ppc_vr0_regnum + i, *vrregsetp + i * vrregsize);
+    }
+}
+void
+supply_gregset (gdb_gregset_t *gregsetp)
+{
+  int regi;
+  register elf_greg_t *regp = (elf_greg_t *) gregsetp;
+  struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); 
+
+  for (regi = 0; regi < 32; regi++)
+    supply_register (regi, (char *) (regp + regi));
+
+  supply_register (PC_REGNUM, (char *) (regp + PPC_LINUX_PT_NIP));
+  supply_register (tdep->ppc_lr_regnum, (char *) (regp + PPC_LINUX_PT_LNK));
+  supply_register (tdep->ppc_cr_regnum, (char *) (regp + PPC_LINUX_PT_CCR));
+  supply_register (tdep->ppc_xer_regnum, (char *) (regp + PPC_LINUX_PT_XER));
+  supply_register (tdep->ppc_ctr_regnum, (char *) (regp + PPC_LINUX_PT_CTR));
+  supply_register (tdep->ppc_mq_regnum, (char *) (regp + PPC_LINUX_PT_MQ));
+  supply_register (tdep->ppc_ps_regnum, (char *) (regp + PPC_LINUX_PT_MSR));
+}
+void
+supply_fpregset (gdb_fpregset_t * fpregsetp)
+{
+  int regi;
+
+  for (regi = 0; regi < 32; regi++)
+    supply_register (FP0_REGNUM + regi, (char *) (*fpregsetp + regi));
+}
 
 /* Determine if pc is in a signal trampoline...
 



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-29 14:06 [PATCH] Cross target core debugging: host=i386, Target=PPC Martin Gadbois
@ 2002-07-29 14:59 ` Kevin Buettner
  2002-07-29 16:45   ` Jason R Thorpe
                     ` (2 more replies)
  2002-07-29 15:07 ` Kevin Buettner
  1 sibling, 3 replies; 16+ messages in thread
From: Kevin Buettner @ 2002-07-29 14:59 UTC (permalink / raw)
  To: Martin Gadbois, gdb-patches

On Jul 29,  4:59pm, Martin Gadbois wrote:

> diff -Naur gdb-5.2/gdb/gregset.h gdb-5.2-ppc-core/gdb/gregset.h
> --- gdb-5.2/gdb/gregset.h	Sun Feb 24 17:14:33 2002
> +++ gdb-5.2-ppc-core/gdb/gregset.h	Mon Jul 29 15:45:43 2002
> @@ -21,6 +21,20 @@
>  #ifndef GREGSET_H
>  #define GREGSET_H
>  
> +
> +#define ELF_NGREG	48	/* includes nip, msr, lr, etc. */
> +#define ELF_NFPREG	33	/* includes fpscr */
> +#define ELF_NVRREG	33	/* includes vscr */
> +
> +typedef unsigned long elf_greg_t;
> +typedef elf_greg_t elf_gregset_t[ELF_NGREG];
> +
> +typedef double elf_fpreg_t;
> +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
> +
> +#define GDB_GREGSET_T elf_gregset_t
> +#define GDB_FPREGSET_T elf_fpregset_t
> +
>  #ifndef GDB_GREGSET_T
>  #define GDB_GREGSET_T gregset_t
>  #endif

This part will need some work.  (The other parts might too; I haven't
looked closely at them yet.)  Anyway, there are several problems here...

1) The constants ELF_NGREG, ELF_NFPREG, ELF_NVRREG will almost certainly
   be incorrect for other targets.

2) Defining elf_greg_t in terms of a long isn't portable.

3) Likewise, for elf_fpreg_t being defined in terms of a double.

For #1, why do these constants need to be put into a header file at
all.  Couldn't this knowledge be localized in the portion of the .c
file responsible for decoding the core format?

For #2 and #3, I think it's reasonably portable to define your data
types in terms of arrays of characters.  (Or perhaps in terms of
structs containing arrays of characters.  The struct representation
is perhaps more convenient in certain situations.)

Kevin


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-29 14:06 [PATCH] Cross target core debugging: host=i386, Target=PPC Martin Gadbois
  2002-07-29 14:59 ` Kevin Buettner
@ 2002-07-29 15:07 ` Kevin Buettner
  2002-07-30  5:30   ` Martin Gadbois
  1 sibling, 1 reply; 16+ messages in thread
From: Kevin Buettner @ 2002-07-29 15:07 UTC (permalink / raw)
  To: Martin Gadbois, gdb-patches

On Jul 29,  4:59pm, Martin Gadbois wrote:

> diff -Naur gdb-5.2/gdb/config/powerpc/linux.mt gdb-5.2-ppc-core/gdb/config/powerpc/linux.mt
> --- gdb-5.2/gdb/config/powerpc/linux.mt	Fri Oct 19 20:16:44 2001
> +++ gdb-5.2-ppc-core/gdb/config/powerpc/linux.mt	Mon Jul 29 16:25:49 2002
> @@ -1,5 +1,5 @@
>  # Target: Motorola PPC on Linux
> -TDEPFILES= rs6000-tdep.o ppc-linux-tdep.o solib.o solib-svr4.o solib-legacy.o
> +TDEPFILES= rs6000-tdep.o ppc-linux-tdep.o solib.o solib-svr4.o solib-legacy.o corelow.o core-regset.o
>  TM_FILE= tm-linux.h
>  
>  SIM_OBS = remote-sim.o
> diff -Naur gdb-5.2/gdb/core-regset.c gdb-5.2-ppc-core/gdb/core-regset.c
> --- gdb-5.2/gdb/core-regset.c	Fri Aug  3 17:34:01 2001
> +++ gdb-5.2-ppc-core/gdb/core-regset.c	Mon Jul 29 15:45:28 2002
> @@ -35,13 +35,6 @@
>   */
>  
>  #include "defs.h"
> -
> -#include <time.h>
> -#ifdef HAVE_SYS_PROCFS_H
> -#include <sys/procfs.h>
> -#endif
> -#include <fcntl.h>
> -#include <errno.h>
>  #include "gdb_string.h"
>  
>  #include "inferior.h"

Hi Martin,

Can you explain the reason for the above change?

Thanks,

Kevin


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-29 14:59 ` Kevin Buettner
@ 2002-07-29 16:45   ` Jason R Thorpe
  2002-07-29 18:50     ` Daniel Jacobowitz
  2002-07-30  5:53   ` Martin Gadbois
  2002-07-30  6:43   ` Martin Gadbois
  2 siblings, 1 reply; 16+ messages in thread
From: Jason R Thorpe @ 2002-07-29 16:45 UTC (permalink / raw)
  To: Kevin Buettner; +Cc: Martin Gadbois, gdb-patches

On Mon, Jul 29, 2002 at 02:53:59PM -0700, Kevin Buettner wrote:

 > This part will need some work.  (The other parts might too; I haven't
 > looked closely at them yet.)  Anyway, there are several problems here...
 > 
 > 1) The constants ELF_NGREG, ELF_NFPREG, ELF_NVRREG will almost certainly
 >    be incorrect for other targets.
 > 
 > 2) Defining elf_greg_t in terms of a long isn't portable.
 > 
 > 3) Likewise, for elf_fpreg_t being defined in terms of a double.

Take a look at the way the e.g. mips-netbsd or the sh-netbsdelf targets
do this.

-- 
        -- Jason R. Thorpe <thorpej@wasabisystems.com>


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-29 16:45   ` Jason R Thorpe
@ 2002-07-29 18:50     ` Daniel Jacobowitz
  2002-07-30  8:35       ` Daniel Jacobowitz
  0 siblings, 1 reply; 16+ messages in thread
From: Daniel Jacobowitz @ 2002-07-29 18:50 UTC (permalink / raw)
  To: Jason R Thorpe, Kevin Buettner, Martin Gadbois, gdb-patches

On Mon, Jul 29, 2002 at 04:40:57PM -0700, Jason R Thorpe wrote:
> On Mon, Jul 29, 2002 at 02:53:59PM -0700, Kevin Buettner wrote:
> 
>  > This part will need some work.  (The other parts might too; I haven't
>  > looked closely at them yet.)  Anyway, there are several problems here...
>  > 
>  > 1) The constants ELF_NGREG, ELF_NFPREG, ELF_NVRREG will almost certainly
>  >    be incorrect for other targets.
>  > 
>  > 2) Defining elf_greg_t in terms of a long isn't portable.
>  > 
>  > 3) Likewise, for elf_fpreg_t being defined in terms of a double.
> 
> Take a look at the way the e.g. mips-netbsd or the sh-netbsdelf targets
> do this.

I'll dust off my patches for cross cores tonight.  I've just been
sitting on them out of sheer laziness.

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-29 15:07 ` Kevin Buettner
@ 2002-07-30  5:30   ` Martin Gadbois
  0 siblings, 0 replies; 16+ messages in thread
From: Martin Gadbois @ 2002-07-30  5:30 UTC (permalink / raw)
  To: Kevin Buettner; +Cc: gdb-patches

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Kevin Buettner wrote:
| On Jul 29,  4:59pm, Martin Gadbois wrote:
|
|
|>diff -Naur gdb-5.2/gdb/config/powerpc/linux.mt gdb-5.2-ppc-core/gdb/config/powerpc/linux.mt
|>--- gdb-5.2/gdb/config/powerpc/linux.mt	Fri Oct 19 20:16:44 2001
|>+++ gdb-5.2-ppc-core/gdb/config/powerpc/linux.mt	Mon Jul 29 16:25:49 2002
|>@@ -1,5 +1,5 @@
|> # Target: Motorola PPC on Linux
|>-TDEPFILES= rs6000-tdep.o ppc-linux-tdep.o solib.o solib-svr4.o solib-legacy.o
|>+TDEPFILES= rs6000-tdep.o ppc-linux-tdep.o solib.o solib-svr4.o solib-legacy.o corelow.o core-regset.o
|> TM_FILE= tm-linux.h
|>
|> SIM_OBS = remote-sim.o
|>diff -Naur gdb-5.2/gdb/core-regset.c gdb-5.2-ppc-core/gdb/core-regset.c
|>--- gdb-5.2/gdb/core-regset.c	Fri Aug  3 17:34:01 2001
|>+++ gdb-5.2-ppc-core/gdb/core-regset.c	Mon Jul 29 15:45:28 2002
|>@@ -35,13 +35,6 @@
|>  */
|>
|> #include "defs.h"
|>-
|>-#include <time.h>
|>-#ifdef HAVE_SYS_PROCFS_H
|>-#include <sys/procfs.h>
|>-#endif
|>-#include <fcntl.h>
|>-#include <errno.h>
|> #include "gdb_string.h"
|>
|> #include "inferior.h"
|
|
| Hi Martin,
|
| Can you explain the reason for the above change?
|
| Thanks,
|
| Kevin


I really just applied the formula from the thread http://sources.redhat.com/ml/gdb/2002-05/msg00191.html

I am not sure what I've done. I just wanted to read PPC core, applied said formula, and it worked! :-)

I'm a novice GDB wizard that applies dangerous formula ;-)


To answer your question, they said: "remove system header, 'cause it will compile from i386, not PPC".



- --
==============
Martin Gadbois
S/W Developper
Colubris Networks Inc.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAj1GhcYACgkQ9Y3/iTTCEDlW3gCaAoGvIL6f6K63ZA/nsr+yj0SX
He8AoKuKFwBuPXs7uasvF04uTUH+P2Hn
=SXNr
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-29 14:59 ` Kevin Buettner
  2002-07-29 16:45   ` Jason R Thorpe
@ 2002-07-30  5:53   ` Martin Gadbois
  2002-07-30  6:43   ` Martin Gadbois
  2 siblings, 0 replies; 16+ messages in thread
From: Martin Gadbois @ 2002-07-30  5:53 UTC (permalink / raw)
  To: Kevin Buettner; +Cc: gdb-patches

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Kevin Buettner wrote:
| On Jul 29,  4:59pm, Martin Gadbois wrote:
|
|
|>diff -Naur gdb-5.2/gdb/gregset.h gdb-5.2-ppc-core/gdb/gregset.h
|>--- gdb-5.2/gdb/gregset.h	Sun Feb 24 17:14:33 2002
|>+++ gdb-5.2-ppc-core/gdb/gregset.h	Mon Jul 29 15:45:43 2002
|>@@ -21,6 +21,20 @@
|> #ifndef GREGSET_H
|> #define GREGSET_H
|>
|>+
|>+#define ELF_NGREG	48	/* includes nip, msr, lr, etc. */
|>+#define ELF_NFPREG	33	/* includes fpscr */
|>+#define ELF_NVRREG	33	/* includes vscr */
|>+
|>+typedef unsigned long elf_greg_t;
|>+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|>+
|>+typedef double elf_fpreg_t;
|>+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
|>+
|>+#define GDB_GREGSET_T elf_gregset_t
|>+#define GDB_FPREGSET_T elf_fpregset_t
|>+
|> #ifndef GDB_GREGSET_T
|> #define GDB_GREGSET_T gregset_t
|> #endif
|
|
| This part will need some work.  (The other parts might too; I haven't
| looked closely at them yet.)  Anyway, there are several problems here...
|
| 1) The constants ELF_NGREG, ELF_NFPREG, ELF_NVRREG will almost certainly
|    be incorrect for other targets.
|
| 2) Defining elf_greg_t in terms of a long isn't portable.
|
| 3) Likewise, for elf_fpreg_t being defined in terms of a double.
|
| For #1, why do these constants need to be put into a header file at
| all.  Couldn't this knowledge be localized in the portion of the .c
| file responsible for decoding the core format?
|
| For #2 and #3, I think it's reasonably portable to define your data
| types in terms of arrays of characters.  (Or perhaps in terms of
| structs containing arrays of characters.  The struct representation
| is perhaps more convenient in certain situations.)
|
| Kevin


While I'm at it, I'll fix and re-generate a patch.

- --
==============
Martin Gadbois
S/W Developper
Colubris Networks Inc.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAj1GhocACgkQ9Y3/iTTCEDntHgCdGM8nmYF0AhwtvZLfkrPT5YK6
9OYAn2aEThyBgPfRsFggJXn/R1iyhPdO
=Tjd9
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-29 14:59 ` Kevin Buettner
  2002-07-29 16:45   ` Jason R Thorpe
  2002-07-30  5:53   ` Martin Gadbois
@ 2002-07-30  6:43   ` Martin Gadbois
  2 siblings, 0 replies; 16+ messages in thread
From: Martin Gadbois @ 2002-07-30  6:43 UTC (permalink / raw)
  To: Kevin Buettner; +Cc: gdb-patches

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Kevin Buettner wrote:
| On Jul 29,  4:59pm, Martin Gadbois wrote:
|
|
|>diff -Naur gdb-5.2/gdb/gregset.h gdb-5.2-ppc-core/gdb/gregset.h
|>--- gdb-5.2/gdb/gregset.h	Sun Feb 24 17:14:33 2002
|>+++ gdb-5.2-ppc-core/gdb/gregset.h	Mon Jul 29 15:45:43 2002
|>@@ -21,6 +21,20 @@
|> #ifndef GREGSET_H
|> #define GREGSET_H
|>
|>+
|>+#define ELF_NGREG	48	/* includes nip, msr, lr, etc. */
|>+#define ELF_NFPREG	33	/* includes fpscr */
|>+#define ELF_NVRREG	33	/* includes vscr */
|>+
|>+typedef unsigned long elf_greg_t;
|>+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|>+
|>+typedef double elf_fpreg_t;
|>+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
|>+
|>+#define GDB_GREGSET_T elf_gregset_t
|>+#define GDB_FPREGSET_T elf_fpregset_t
|>+
|> #ifndef GDB_GREGSET_T
|> #define GDB_GREGSET_T gregset_t
|> #endif
|
|
| This part will need some work.  (The other parts might too; I haven't
| looked closely at them yet.)  Anyway, there are several problems here...
|
| 1) The constants ELF_NGREG, ELF_NFPREG, ELF_NVRREG will almost certainly
|    be incorrect for other targets.
|
| 2) Defining elf_greg_t in terms of a long isn't portable.
|
| 3) Likewise, for elf_fpreg_t being defined in terms of a double.
|
| For #1, why do these constants need to be put into a header file at
| all.  Couldn't this knowledge be localized in the portion of the .c
| file responsible for decoding the core format?


It seems that gregset.h is included by core-regset.c and ppc-linux-tdep.c.
Looks to me that core-regset.c is not arch/cpu dependent... I should not put the elf_gregset_t in
that .c file.
Should I copy asm/elf.h from the PPC distro and included it as elf-ppc.h?
I am not so sure how the arch/cpu is handled in GDB..., so how can I include a generic elf-<TARGET>.h?


- --
==============
Martin Gadbois
S/W Developper
Colubris Networks Inc.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAj1Gi9EACgkQ9Y3/iTTCEDlAhACgpco7HtbmlpDIIxhDczsEn2kr
9qAAnjBM/R0pu5vc5+qqUhEvN9p9JjZh
=xBR0
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-29 18:50     ` Daniel Jacobowitz
@ 2002-07-30  8:35       ` Daniel Jacobowitz
  2002-07-30  8:50         ` Martin Gadbois
  2002-07-30 10:47         ` Kevin Buettner
  0 siblings, 2 replies; 16+ messages in thread
From: Daniel Jacobowitz @ 2002-07-30  8:35 UTC (permalink / raw)
  To: Kevin Buettner, Martin Gadbois, gdb-patches

On Mon, Jul 29, 2002 at 07:44:39PM -0400, Daniel Jacobowitz wrote:
> On Mon, Jul 29, 2002 at 04:40:57PM -0700, Jason R Thorpe wrote:
> > On Mon, Jul 29, 2002 at 02:53:59PM -0700, Kevin Buettner wrote:
> > 
> >  > This part will need some work.  (The other parts might too; I haven't
> >  > looked closely at them yet.)  Anyway, there are several problems here...
> >  > 
> >  > 1) The constants ELF_NGREG, ELF_NFPREG, ELF_NVRREG will almost certainly
> >  >    be incorrect for other targets.
> >  > 
> >  > 2) Defining elf_greg_t in terms of a long isn't portable.
> >  > 
> >  > 3) Likewise, for elf_fpreg_t being defined in terms of a double.
> > 
> > Take a look at the way the e.g. mips-netbsd or the sh-netbsdelf targets
> > do this.
> 
> I'll dust off my patches for cross cores tonight.  I've just been
> sitting on them out of sheer laziness.

PowerPC was the easiest of the bunch to clean up.  Here it is.  The
wrappers in ppc-linux-nat.c are just there for type correctness at the
moment; I believe that eventually changing them to take char * (or some
target-independent wrapper struct as I believe Kevin proposed some time
ago) is the right thing to do.

The astute observer will also notice that this patch will segue into
multi-arching supply_gregset in the near future.

OK?

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer

2002-07-30  Daniel Jacobowitz  <drow@mvista.com>

	* ppc-linux-tdep.c (ELF_NGREG, ELF_NFPREG, ELF_NVRREG)
	(ELF_FPREGSET_SIZE, ELF_GREGSET_SIZE): New macros.
	(fetch_core_registers, ppc_linux_supply_gregset)
	(ppc_linux_supply_fpregset): New functions.
	(ppc_linux_regset_core_fns): New.
	(_initialize_ppc_linux_tdep): Call add_core_fns.
	* ppc-tdep.h: Add prototypes for ppc_linux_supply_fpregset
	and ppc_linux_supply_gregset.
	* ppc-linux-nat.c (supply_gregset): Call ppc_linux_supply_gregset.
	(supply_fpregset): Call ppc_linux_supply_fpregset.
	* config/powerpc/linux.mh (NATDEPFILES): Remove core-regset.o and
	corelow.o.
	* config/powerpc/linux.mt (TDEPFILES): Add corelow.o.

Index: ppc-linux-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/ppc-linux-nat.c,v
retrieving revision 1.17
diff -u -p -r1.17 ppc-linux-nat.c
--- ppc-linux-nat.c	11 Apr 2002 19:08:56 -0000	1.17
+++ ppc-linux-nat.c	30 Jul 2002 15:23:15 -0000
@@ -475,21 +475,7 @@ store_inferior_registers (int regno)
 void
 supply_gregset (gdb_gregset_t *gregsetp)
 {
-  int regi;
-  register elf_greg_t *regp = (elf_greg_t *) gregsetp;
-  struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); 
-
-  for (regi = 0; regi < 32; regi++)
-    supply_register (regi, (char *) (regp + regi));
-
-  supply_register (PC_REGNUM, (char *) (regp + PT_NIP));
-  supply_register (tdep->ppc_lr_regnum, (char *) (regp + PT_LNK));
-  supply_register (tdep->ppc_cr_regnum, (char *) (regp + PT_CCR));
-  supply_register (tdep->ppc_xer_regnum, (char *) (regp + PT_XER));
-  supply_register (tdep->ppc_ctr_regnum, (char *) (regp + PT_CTR));
-  if (tdep->ppc_mq_regnum != -1)
-    supply_register (tdep->ppc_mq_regnum, (char *) (regp + PT_MQ));
-  supply_register (tdep->ppc_ps_regnum, (char *) (regp + PT_MSR));
+  ppc_linux_supply_gregset ((char *) gregsetp);
 }
 
 void
@@ -525,12 +511,7 @@ fill_gregset (gdb_gregset_t *gregsetp, i
 void
 supply_fpregset (gdb_fpregset_t * fpregsetp)
 {
-  int regi;
-  struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); 
-
-  for (regi = 0; regi < 32; regi++)
-    supply_register (FP0_REGNUM + regi, (char *) (*fpregsetp + regi));
-  supply_register (tdep->ppc_fpscr_regnum, (char *) (*fpregsetp + 32));
+  ppc_linux_supply_fpregset ((char *) fpregsetp);
 }
 
 /* Given a pointer to a floating point register set in /proc format
Index: ppc-linux-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/ppc-linux-tdep.c,v
retrieving revision 1.18
diff -u -p -r1.18 ppc-linux-tdep.c
--- ppc-linux-tdep.c	30 May 2002 01:21:51 -0000	1.18
+++ ppc-linux-tdep.c	30 Jul 2002 15:23:16 -0000
@@ -600,6 +600,84 @@ ppc_linux_svr4_fetch_link_map_offsets (v
   return lmp;
 }
 
+#define ELF_NGREG       48      /* includes nip, msr, lr, etc. */
+#define ELF_NFPREG      33      /* includes fpscr */
+#define ELF_NVRREG      33      /* includes vscr */
+
+#define ELF_GREGSET_SIZE (48 * 4)
+#define ELF_FPREGSET_SIZE (33 * 8)
+
+void
+ppc_linux_supply_gregset (char *buf)
+{
+  int regi;
+  struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); 
+
+  for (regi = 0; regi < 32; regi++)
+    supply_register (regi, buf + 4 * regi);
+
+  supply_register (PC_REGNUM, buf + 4 * PPC_LINUX_PT_NIP);
+  supply_register (tdep->ppc_lr_regnum, buf + 4 * PPC_LINUX_PT_LNK);
+  supply_register (tdep->ppc_cr_regnum, buf + 4 * PPC_LINUX_PT_CCR);
+  supply_register (tdep->ppc_xer_regnum, buf + 4 * PPC_LINUX_PT_XER);
+  supply_register (tdep->ppc_ctr_regnum, buf + 4 * PPC_LINUX_PT_CTR);
+  if (tdep->ppc_mq_regnum != -1)
+    supply_register (tdep->ppc_mq_regnum, buf + 4 * PPC_LINUX_PT_MQ);
+  supply_register (tdep->ppc_ps_regnum, buf + 4 * PPC_LINUX_PT_MSR);
+}
+
+void
+ppc_linux_supply_fpregset (char *buf)
+{
+  int regi;
+  struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); 
+
+  for (regi = 0; regi < 32; regi++)
+    supply_register (FP0_REGNUM + regi, buf + 8 * regi);
+
+  /* The FPSCR is stored in the low order word of the last doubleword in the
+     fpregset.  */
+  supply_register (tdep->ppc_fpscr_regnum, buf + 8 * 32 + 4);
+}
+
+/*
+  Use a local version of this function to get the correct types for regsets.
+*/
+
+static void
+fetch_core_registers (char *core_reg_sect,
+		      unsigned core_reg_size,
+		      int which,
+		      CORE_ADDR reg_addr)
+{
+  if (which == 0)
+    {
+      if (core_reg_size == ELF_GREGSET_SIZE)
+	ppc_linux_supply_gregset (core_reg_sect);
+      else
+	warning ("wrong size gregset struct in core file");
+    }
+  else if (which == 2)
+    {
+      if (core_reg_size == ELF_FPREGSET_SIZE)
+	ppc_linux_supply_fpregset (core_reg_sect);
+      else
+	warning ("wrong size fpregset struct in core file");
+    }
+}
+
+/* Register that we are able to handle ELF file formats using standard
+   procfs "regset" structures.  */
+
+static struct core_fns ppc_linux_regset_core_fns =
+{
+  bfd_target_elf_flavour,	/* core_flavour */
+  default_check_format,		/* check_format */
+  default_core_sniffer,		/* core_sniffer */
+  fetch_core_registers,		/* core_read_registers */
+  NULL				/* next */
+};
+
 static void
 ppc_linux_init_abi (struct gdbarch_info info,
                     struct gdbarch *gdbarch)
@@ -639,4 +717,5 @@ _initialize_ppc_linux_tdep (void)
 {
   gdbarch_register_osabi (bfd_arch_powerpc, GDB_OSABI_LINUX,
 			  ppc_linux_init_abi);
+  add_core_fns (&ppc_linux_regset_core_fns);
 }
Index: ppc-tdep.h
===================================================================
RCS file: /cvs/src/src/gdb/ppc-tdep.h,v
retrieving revision 1.11
diff -u -p -r1.11 ppc-tdep.h
--- ppc-tdep.h	30 May 2002 01:21:51 -0000	1.11
+++ ppc-tdep.h	30 Jul 2002 15:23:16 -0000
@@ -39,6 +39,8 @@ CORE_ADDR ppc_sysv_abi_push_arguments (i
 				       CORE_ADDR);
 int ppc_linux_memory_remove_breakpoint (CORE_ADDR addr, char *contents_cache);
 struct link_map_offsets *ppc_linux_svr4_fetch_link_map_offsets (void);
+void ppc_linux_supply_gregset (char *buf);
+void ppc_linux_supply_fpregset (char *buf);
 
 
 /* From rs6000-tdep.c... */
Index: config/powerpc/linux.mh
===================================================================
RCS file: /cvs/src/src/gdb/config/powerpc/linux.mh,v
retrieving revision 1.11
diff -u -p -r1.11 linux.mh
--- config/powerpc/linux.mh	14 Feb 2002 05:48:38 -0000	1.11
+++ config/powerpc/linux.mh	30 Jul 2002 15:23:16 -0000
@@ -4,8 +4,8 @@ XM_FILE= xm-linux.h
 XM_CLIBS=
 
 NAT_FILE= nm-linux.h
-NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o linux-proc.o \
-	core-regset.o ppc-linux-nat.o proc-service.o thread-db.o lin-lwp.o \
+NATDEPFILES= infptrace.o inftarg.o fork-child.o linux-proc.o \
+	ppc-linux-nat.o proc-service.o thread-db.o lin-lwp.o \
 	gcore.o
 
 LOADLIBES = -ldl -rdynamic
Index: config/powerpc/linux.mt
===================================================================
RCS file: /cvs/src/src/gdb/config/powerpc/linux.mt,v
retrieving revision 1.5
diff -u -p -r1.5 linux.mt
--- config/powerpc/linux.mt	30 May 2002 01:21:52 -0000	1.5
+++ config/powerpc/linux.mt	30 Jul 2002 15:23:16 -0000
@@ -1,6 +1,6 @@
 # Target: Motorola PPC on Linux
 TDEPFILES= rs6000-tdep.o ppc-linux-tdep.o ppc-sysv-tdep.o solib.o \
-	solib-svr4.o solib-legacy.o
+	solib-svr4.o solib-legacy.o corelow.o
 TM_FILE= tm-linux.h
 
 SIM_OBS = remote-sim.o


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-30  8:35       ` Daniel Jacobowitz
@ 2002-07-30  8:50         ` Martin Gadbois
  2002-07-30 12:09           ` Daniel Jacobowitz
  2002-07-30 10:47         ` Kevin Buettner
  1 sibling, 1 reply; 16+ messages in thread
From: Martin Gadbois @ 2002-07-30  8:50 UTC (permalink / raw)
  To: Daniel Jacobowitz; +Cc: Kevin Buettner, gdb-patches

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Daniel Jacobowitz wrote:
|
| PowerPC was the easiest of the bunch to clean up.  Here it is.  The
| wrappers in ppc-linux-nat.c are just there for type correctness at the
| moment; I believe that eventually changing them to take char * (or some
| target-independent wrapper struct as I believe Kevin proposed some time
| ago) is the right thing to do.
|
| The astute observer will also notice that this patch will segue into
| multi-arching supply_gregset in the near future.
|
| OK?
|

I tried to apply against 5.2, but a lot of failed chunks. Should I apply it on 5.2.1 or latest CVS?

Thanks for the patch!

- --
==============
Martin Gadbois
S/W Developper
Colubris Networks Inc.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAj1Gs6sACgkQ9Y3/iTTCEDlLYQCgnPUHOJPKQ/lDtAStV7vL1cHW
p/AAn2lpXzBvNZ+h2qprE+fk4kaAubm5
=k1cj
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-30  8:35       ` Daniel Jacobowitz
  2002-07-30  8:50         ` Martin Gadbois
@ 2002-07-30 10:47         ` Kevin Buettner
  2002-07-30 10:52           ` Martin Gadbois
                             ` (2 more replies)
  1 sibling, 3 replies; 16+ messages in thread
From: Kevin Buettner @ 2002-07-30 10:47 UTC (permalink / raw)
  To: Daniel Jacobowitz, Kevin Buettner, Martin Gadbois, gdb-patches

On Jul 30, 11:32am, Daniel Jacobowitz wrote:

> +#define ELF_NGREG       48      /* includes nip, msr, lr, etc. */
> +#define ELF_NFPREG      33      /* includes fpscr */
> +#define ELF_NVRREG      33      /* includes vscr */

I noticed that the above are never actually referenced anywhere.  Can
we dispense with these defines?  Or are there some hard coded
constants lurking somewhere that should actually be defined in terms
of one or more of the above?

Which reminds me...  I think the recent trend in gdb has been to use
enums for constants rather than #define where possible.

Aside from the above concerns, your patch looks okay to me.

Kevin


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-30 10:47         ` Kevin Buettner
@ 2002-07-30 10:52           ` Martin Gadbois
  2002-07-30 11:24             ` Kevin Buettner
  2002-07-30 10:55           ` Daniel Jacobowitz
  2002-07-30 12:05           ` Daniel Jacobowitz
  2 siblings, 1 reply; 16+ messages in thread
From: Martin Gadbois @ 2002-07-30 10:52 UTC (permalink / raw)
  To: Kevin Buettner; +Cc: Daniel Jacobowitz, gdb-patches

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Kevin Buettner wrote:
| On Jul 30, 11:32am, Daniel Jacobowitz wrote:
|
|
|>+#define ELF_NGREG       48      /* includes nip, msr, lr, etc. */
|>+#define ELF_NFPREG      33      /* includes fpscr */
|>+#define ELF_NVRREG      33      /* includes vscr */
|
|
| I noticed that the above are never actually referenced anywhere.  Can
| we dispense with these defines?  Or are there some hard coded
| constants lurking somewhere that should actually be defined in terms
| of one or more of the above?


They are:
+
+#define ELF_NGREG      48      /* includes nip, msr, lr, etc. */
+#define ELF_NFPREG     33      /* includes fpscr */
+#define ELF_NVRREG     33      /* includes vscr */
+
+typedef unsigned long elf_greg_t;
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+typedef double elf_fpreg_t;
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
+

Only NVRREG is not referenced.  It was copied as-is from ppc asm/elf.h.
I don't think there's any other reference other than those above.



- --
==============
Martin Gadbois
S/W Developper
Colubris Networks Inc.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAj1G0LgACgkQ9Y3/iTTCEDlbCQCgskGKCiatmSGznovEtnwtXuAw
wFMAoKzMzxtapAWssmcpgFj0mcngrWKJ
=2tZ0
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-30 10:47         ` Kevin Buettner
  2002-07-30 10:52           ` Martin Gadbois
@ 2002-07-30 10:55           ` Daniel Jacobowitz
  2002-07-30 12:05           ` Daniel Jacobowitz
  2 siblings, 0 replies; 16+ messages in thread
From: Daniel Jacobowitz @ 2002-07-30 10:55 UTC (permalink / raw)
  To: Kevin Buettner; +Cc: Martin Gadbois, gdb-patches

On Tue, Jul 30, 2002 at 09:27:39AM -0700, Kevin Buettner wrote:
> On Jul 30, 11:32am, Daniel Jacobowitz wrote:
> 
> > +#define ELF_NGREG       48      /* includes nip, msr, lr, etc. */
> > +#define ELF_NFPREG      33      /* includes fpscr */
> > +#define ELF_NVRREG      33      /* includes vscr */
> 
> I noticed that the above are never actually referenced anywhere.  Can
> we dispense with these defines?  Or are there some hard coded
> constants lurking somewhere that should actually be defined in terms
> of one or more of the above?
> 
> Which reminds me...  I think the recent trend in gdb has been to use
> enums for constants rather than #define where possible.
> 
> Aside from the above concerns, your patch looks okay to me.

Oops, there's a thinko.  The block is:
+#define ELF_NGREG       48      /* includes nip, msr, lr, etc. */
+#define ELF_NFPREG      33      /* includes fpscr */
+#define ELF_NVRREG      33      /* includes vscr */
+
+#define ELF_GREGSET_SIZE (48 * 4)
+#define ELF_FPREGSET_SIZE (33 * 8)

The 48 and 33 there should be ELF_NGREG and ELF_NFPREG.

I'll commit it with that change (and enums, I suppose).  Thanks!  Now
to dust off ARM and i386 and do the same.

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-30 10:52           ` Martin Gadbois
@ 2002-07-30 11:24             ` Kevin Buettner
  0 siblings, 0 replies; 16+ messages in thread
From: Kevin Buettner @ 2002-07-30 11:24 UTC (permalink / raw)
  To: Martin Gadbois, Kevin Buettner; +Cc: Daniel Jacobowitz, gdb-patches

On Jul 30,  1:45pm, Martin Gadbois wrote:

> Kevin Buettner wrote:
> | On Jul 30, 11:32am, Daniel Jacobowitz wrote:
> |
> |
> |>+#define ELF_NGREG       48      /* includes nip, msr, lr, etc. */
> |>+#define ELF_NFPREG      33      /* includes fpscr */
> |>+#define ELF_NVRREG      33      /* includes vscr */
> |
> |
> | I noticed that the above are never actually referenced anywhere.  Can
> | we dispense with these defines?  Or are there some hard coded
> | constants lurking somewhere that should actually be defined in terms
> | of one or more of the above?
> 
> 
> They are:
> +
> +#define ELF_NGREG      48      /* includes nip, msr, lr, etc. */
> +#define ELF_NFPREG     33      /* includes fpscr */
> +#define ELF_NVRREG     33      /* includes vscr */
> +
> +typedef unsigned long elf_greg_t;
> +typedef elf_greg_t elf_gregset_t[ELF_NGREG];
> +
> +typedef double elf_fpreg_t;
> +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
> +
> 
> Only NVRREG is not referenced.  It was copied as-is from ppc asm/elf.h.
> I don't think there's any other reference other than those above.

I should have made it clear(er) that I was referring to Daniel's
patch.  If you look at Daniel's patch, you'll see that ELF_NGREG,
ELFNFPREG, and ELF_NVRREG are defined but never referenced.

Kevin


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-30 10:47         ` Kevin Buettner
  2002-07-30 10:52           ` Martin Gadbois
  2002-07-30 10:55           ` Daniel Jacobowitz
@ 2002-07-30 12:05           ` Daniel Jacobowitz
  2 siblings, 0 replies; 16+ messages in thread
From: Daniel Jacobowitz @ 2002-07-30 12:05 UTC (permalink / raw)
  To: Kevin Buettner; +Cc: Martin Gadbois, gdb-patches

On Tue, Jul 30, 2002 at 09:27:39AM -0700, Kevin Buettner wrote:
> On Jul 30, 11:32am, Daniel Jacobowitz wrote:
> 
> > +#define ELF_NGREG       48      /* includes nip, msr, lr, etc. */
> > +#define ELF_NFPREG      33      /* includes fpscr */
> > +#define ELF_NVRREG      33      /* includes vscr */
> 
> I noticed that the above are never actually referenced anywhere.  Can
> we dispense with these defines?  Or are there some hard coded
> constants lurking somewhere that should actually be defined in terms
> of one or more of the above?
> 
> Which reminds me...  I think the recent trend in gdb has been to use
> enums for constants rather than #define where possible.
> 
> Aside from the above concerns, your patch looks okay to me.

Checked in with those changes.

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] Cross target core debugging: host=i386, Target=PPC
  2002-07-30  8:50         ` Martin Gadbois
@ 2002-07-30 12:09           ` Daniel Jacobowitz
  0 siblings, 0 replies; 16+ messages in thread
From: Daniel Jacobowitz @ 2002-07-30 12:09 UTC (permalink / raw)
  To: Martin Gadbois; +Cc: Kevin Buettner, gdb-patches

On Tue, Jul 30, 2002 at 11:41:32AM -0400, Martin Gadbois wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Daniel Jacobowitz wrote:
> |
> | PowerPC was the easiest of the bunch to clean up.  Here it is.  The
> | wrappers in ppc-linux-nat.c are just there for type correctness at the
> | moment; I believe that eventually changing them to take char * (or some
> | target-independent wrapper struct as I believe Kevin proposed some time
> | ago) is the right thing to do.
> |
> | The astute observer will also notice that this patch will segue into
> | multi-arching supply_gregset in the near future.
> |
> | OK?
> |
> 
> I tried to apply against 5.2, but a lot of failed chunks. Should I apply it 
> on 5.2.1 or latest CVS?
> 
> Thanks for the patch!

Current CVS; but just get a checkout now, since I've committed my
patch.  Thanks for the kick to actually do it :)

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2002-07-30 19:05 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-07-29 14:06 [PATCH] Cross target core debugging: host=i386, Target=PPC Martin Gadbois
2002-07-29 14:59 ` Kevin Buettner
2002-07-29 16:45   ` Jason R Thorpe
2002-07-29 18:50     ` Daniel Jacobowitz
2002-07-30  8:35       ` Daniel Jacobowitz
2002-07-30  8:50         ` Martin Gadbois
2002-07-30 12:09           ` Daniel Jacobowitz
2002-07-30 10:47         ` Kevin Buettner
2002-07-30 10:52           ` Martin Gadbois
2002-07-30 11:24             ` Kevin Buettner
2002-07-30 10:55           ` Daniel Jacobowitz
2002-07-30 12:05           ` Daniel Jacobowitz
2002-07-30  5:53   ` Martin Gadbois
2002-07-30  6:43   ` Martin Gadbois
2002-07-29 15:07 ` Kevin Buettner
2002-07-30  5:30   ` Martin Gadbois

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox