Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [rfc] [01/15] Add gdbarch to register_name callback (prep)
@ 2007-10-31 10:48 Markus Deuling
  2007-10-31 22:11 ` Ulrich Weigand
  0 siblings, 1 reply; 2+ messages in thread
From: Markus Deuling @ 2007-10-31 10:48 UTC (permalink / raw)
  To: GDB Patches; +Cc: Ulrich Weigand

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

Hi,

this patch adds gdbarch parameter for register_name call in gdbarch.{sh,c,h}

Is this ok to commit?

ChangeLog: 


	* gdbarch.sh (register_name): Add gdbarch parameter.
	* gdbarch.{c,h}: Regenerate





-- 
Markus Deuling
GNU Toolchain for Linux on Cell BE
deuling@de.ibm.com






[-- Attachment #2: diff-gdbarch-register-name --]
[-- Type: text/plain, Size: 3368 bytes --]

diff -urpN src/gdb/gdbarch.c dev/gdb/gdbarch.c
--- src/gdb/gdbarch.c	2007-10-19 14:26:33.000000000 +0200
+++ dev/gdb/gdbarch.c	2007-10-30 11:05:56.000000000 +0100
@@ -527,6 +527,7 @@ verify_gdbarch (struct gdbarch *current_
   /* Skip verify of dwarf_reg_to_regnum, invalid_p == 0 */
   /* Skip verify of sdb_reg_to_regnum, invalid_p == 0 */
   /* Skip verify of dwarf2_reg_to_regnum, invalid_p == 0 */
+  /* Skip verify of register_name, has predicate */
   /* Skip verify of register_type, has predicate */
   /* Skip verify of unwind_dummy_id, has predicate */
   /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
@@ -912,6 +913,9 @@ gdbarch_dump (struct gdbarch *current_gd
                       "gdbarch_dump: read_pc = <0x%lx>\n",
                       (long) current_gdbarch->read_pc);
   fprintf_unfiltered (file,
+                      "gdbarch_dump: gdbarch_register_name_p() = %d\n",
+                      gdbarch_register_name_p (current_gdbarch));
+  fprintf_unfiltered (file,
                       "gdbarch_dump: register_name = <0x%lx>\n",
                       (long) current_gdbarch->register_name);
   fprintf_unfiltered (file,
@@ -1610,6 +1614,13 @@ set_gdbarch_dwarf2_reg_to_regnum (struct
   gdbarch->dwarf2_reg_to_regnum = dwarf2_reg_to_regnum;
 }
 
+int
+gdbarch_register_name_p (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  return gdbarch->register_name != NULL;
+}
+
 const char *
 gdbarch_register_name (struct gdbarch *gdbarch, int regnr)
 {
@@ -1617,7 +1628,7 @@ gdbarch_register_name (struct gdbarch *g
   gdb_assert (gdbarch->register_name != NULL);
   if (gdbarch_debug >= 2)
     fprintf_unfiltered (gdb_stdlog, "gdbarch_register_name called\n");
-  return gdbarch->register_name (regnr);
+  return gdbarch->register_name (gdbarch, regnr);
 }
 
 void
diff -urpN src/gdb/gdbarch.h dev/gdb/gdbarch.h
--- src/gdb/gdbarch.h	2007-10-19 14:26:33.000000000 +0200
+++ dev/gdb/gdbarch.h	2007-10-30 11:05:47.000000000 +0100
@@ -232,7 +232,9 @@ typedef int (gdbarch_dwarf2_reg_to_regnu
 extern int gdbarch_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, int dwarf2_regnr);
 extern void set_gdbarch_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, gdbarch_dwarf2_reg_to_regnum_ftype *dwarf2_reg_to_regnum);
 
-typedef const char * (gdbarch_register_name_ftype) (int regnr);
+extern int gdbarch_register_name_p (struct gdbarch *gdbarch);
+
+typedef const char * (gdbarch_register_name_ftype) (struct gdbarch *gdbarch, int regnr);
 extern const char * gdbarch_register_name (struct gdbarch *gdbarch, int regnr);
 extern void set_gdbarch_register_name (struct gdbarch *gdbarch, gdbarch_register_name_ftype *register_name);
 
diff -urpN src/gdb/gdbarch.sh dev/gdb/gdbarch.sh
--- src/gdb/gdbarch.sh	2007-10-19 14:34:38.000000000 +0200
+++ dev/gdb/gdbarch.sh	2007-10-30 11:05:09.000000000 +0100
@@ -421,7 +421,7 @@ f:int:dwarf_reg_to_regnum:int dwarf_regn
 # Convert from an sdb register number to an internal gdb register number.
 f:int:sdb_reg_to_regnum:int sdb_regnr:sdb_regnr::no_op_reg_to_regnum::0
 f:int:dwarf2_reg_to_regnum:int dwarf2_regnr:dwarf2_regnr::no_op_reg_to_regnum::0
-f:const char *:register_name:int regnr:regnr
+M:const char *:register_name:int regnr:regnr
 
 # Return the type of a register specified by the architecture.  Only
 # the register cache should call this function directly; others should




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

end of thread, other threads:[~2007-10-31 21:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-31 10:48 [rfc] [01/15] Add gdbarch to register_name callback (prep) Markus Deuling
2007-10-31 22:11 ` Ulrich Weigand

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