From: Markus Deuling <deuling@de.ibm.com>
To: GDB Patches <gdb-patches@sourceware.org>
Cc: Ulrich Weigand <uweigand@de.ibm.com>
Subject: [rfc] [01/15] Add gdbarch to register_name callback (prep)
Date: Wed, 31 Oct 2007 10:48:00 -0000 [thread overview]
Message-ID: <47285CC8.80902@de.ibm.com> (raw)
[-- 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
next reply other threads:[~2007-10-31 10:47 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-31 10:48 Markus Deuling [this message]
2007-10-31 22:11 ` Ulrich Weigand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47285CC8.80902@de.ibm.com \
--to=deuling@de.ibm.com \
--cc=gdb-patches@sourceware.org \
--cc=uweigand@de.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox