From: Markus Deuling <deuling@de.ibm.com>
To: GDB Patches <gdb-patches@sourceware.org>
Cc: Ulrich Weigand <uweigand@de.ibm.com>
Subject: [rfc] [2/6] Replace DEPRECATED_FUNCTION_START_OFFSET
Date: Mon, 18 Jun 2007 09:03:00 -0000 [thread overview]
Message-ID: <46764A1B.1030001@de.ibm.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 621 bytes --]
Hello,
this patch replaces DEPRECATED_FUNCTION_START_OFFSET by gdbarch_deprecated_function_start_offset.
ChangeLog:
* gdbarch.sh (DEPRECATED_FUNCTION_START_OFFSET): Replace by
gdbarch_deprecated_function_start_offset.
* symtab.c (find_function_start_sal)skip_prologue_using_sal): Likewise.
* linespec.c (minsym_found): Likewise.
* infrun.c (handle_inferior_event): Likewise.
* infcall.c (find_function_addr): Likewise.
* cli/cli-cmds.c (disassemble_command): Likewise.
* gdbarch.c, gdbarch.h: Regenerate.
Is this ok to commit ?
--
Markus Deuling
GNU Toolchain for Linux on Cell BE
deuling@de.ibm.com
[-- Attachment #2: diff-remove-FUNCTION_START_OFFSET --]
[-- Type: text/plain, Size: 6380 bytes --]
diff -urN src/gdb/cli/cli-cmds.c dev/gdb/cli/cli-cmds.c
--- src/gdb/cli/cli-cmds.c 2007-02-27 20:46:04.000000000 +0100
+++ dev/gdb/cli/cli-cmds.c 2007-06-18 09:43:29.000000000 +0200
@@ -925,7 +925,7 @@
/* FIXME: cagney/2004-02-07: This should be an observer. */
low = tui_get_low_disassembly_address (low, pc);
#endif
- low += DEPRECATED_FUNCTION_START_OFFSET;
+ low += gdbarch_deprecated_function_start_offset (current_gdbarch);
}
else if (!(space_index = (char *) strchr (arg, ' ')))
{
@@ -940,7 +940,7 @@
/* FIXME: cagney/2004-02-07: This should be an observer. */
low = tui_get_low_disassembly_address (low, pc);
#endif
- low += DEPRECATED_FUNCTION_START_OFFSET;
+ low += gdbarch_deprecated_function_start_offset (current_gdbarch);
}
else
{
diff -urN src/gdb/gdbarch.c dev/gdb/gdbarch.c
--- src/gdb/gdbarch.c 2007-06-18 05:36:42.000000000 +0200
+++ dev/gdb/gdbarch.c 2007-06-18 09:37:47.000000000 +0200
@@ -751,11 +751,6 @@
fprintf_unfiltered (file,
"gdbarch_dump: deprecated_fp_regnum = %s\n",
paddr_d (current_gdbarch->deprecated_fp_regnum));
-#ifdef DEPRECATED_FUNCTION_START_OFFSET
- fprintf_unfiltered (file,
- "gdbarch_dump: DEPRECATED_FUNCTION_START_OFFSET # %s\n",
- XSTRING (DEPRECATED_FUNCTION_START_OFFSET));
-#endif
fprintf_unfiltered (file,
"gdbarch_dump: deprecated_function_start_offset = 0x%s\n",
paddr_nz (current_gdbarch->deprecated_function_start_offset));
diff -urN src/gdb/gdbarch.h dev/gdb/gdbarch.h
--- src/gdb/gdbarch.h 2007-06-18 05:36:42.000000000 +0200
+++ dev/gdb/gdbarch.h 2007-06-18 09:37:37.000000000 +0200
@@ -526,19 +526,13 @@
/* A function can be addressed by either it's "pointer" (possibly a
descriptor address) or "entry point" (first executable instruction).
The method "convert_from_func_ptr_addr" converting the former to the
- latter. DEPRECATED_FUNCTION_START_OFFSET is being used to implement
+ latter. gdbarch_deprecated_function_start_offset is being used to implement
a simplified subset of that functionality - the function's address
corresponds to the "function pointer" and the function's start
corresponds to the "function entry point" - and hence is redundant. */
extern CORE_ADDR gdbarch_deprecated_function_start_offset (struct gdbarch *gdbarch);
extern void set_gdbarch_deprecated_function_start_offset (struct gdbarch *gdbarch, CORE_ADDR deprecated_function_start_offset);
-#if !defined (GDB_TM_FILE) && defined (DEPRECATED_FUNCTION_START_OFFSET)
-#error "Non multi-arch definition of DEPRECATED_FUNCTION_START_OFFSET"
-#endif
-#if !defined (DEPRECATED_FUNCTION_START_OFFSET)
-#define DEPRECATED_FUNCTION_START_OFFSET (gdbarch_deprecated_function_start_offset (current_gdbarch))
-#endif
/* Return the remote protocol register number associated with this
register. Normally the identity mapping. */
diff -urN src/gdb/gdbarch.sh dev/gdb/gdbarch.sh
--- src/gdb/gdbarch.sh 2007-06-18 05:36:42.000000000 +0200
+++ dev/gdb/gdbarch.sh 2007-06-18 09:37:25.000000000 +0200
@@ -550,12 +550,12 @@
# A function can be addressed by either it's "pointer" (possibly a
# descriptor address) or "entry point" (first executable instruction).
# The method "convert_from_func_ptr_addr" converting the former to the
-# latter. DEPRECATED_FUNCTION_START_OFFSET is being used to implement
+# latter. gdbarch_deprecated_function_start_offset is being used to implement
# a simplified subset of that functionality - the function's address
# corresponds to the "function pointer" and the function's start
# corresponds to the "function entry point" - and hence is redundant.
-v:=:CORE_ADDR:deprecated_function_start_offset:::0:::0
+v::CORE_ADDR:deprecated_function_start_offset:::0:::0
# Return the remote protocol register number associated with this
# register. Normally the identity mapping.
diff -urN src/gdb/infcall.c dev/gdb/infcall.c
--- src/gdb/infcall.c 2007-06-18 05:36:42.000000000 +0200
+++ dev/gdb/infcall.c 2007-06-18 09:41:58.000000000 +0200
@@ -232,7 +232,7 @@
if (retval_type != NULL)
*retval_type = value_type;
- return funaddr + DEPRECATED_FUNCTION_START_OFFSET;
+ return funaddr + gdbarch_deprecated_function_start_offset (current_gdbarch);
}
/* Call breakpoint_auto_delete on the current contents of the bpstat
diff -urN src/gdb/infrun.c dev/gdb/infrun.c
--- src/gdb/infrun.c 2007-06-18 05:36:42.000000000 +0200
+++ dev/gdb/infrun.c 2007-06-18 09:41:00.000000000 +0200
@@ -1807,7 +1807,8 @@
will both be 0 if it doesn't work. */
find_pc_partial_function (stop_pc, &ecs->stop_func_name,
&ecs->stop_func_start, &ecs->stop_func_end);
- ecs->stop_func_start += DEPRECATED_FUNCTION_START_OFFSET;
+ ecs->stop_func_start
+ += gdbarch_deprecated_function_start_offset (current_gdbarch);
ecs->another_trap = 0;
bpstat_clear (&stop_bpstat);
stop_step = 0;
diff -urN src/gdb/linespec.c dev/gdb/linespec.c
--- src/gdb/linespec.c 2007-06-11 11:31:57.000000000 +0200
+++ dev/gdb/linespec.c 2007-06-18 09:40:22.000000000 +0200
@@ -1833,7 +1833,8 @@
values.sals[0].section = SYMBOL_BFD_SECTION (msymbol);
if (funfirstline)
{
- values.sals[0].pc += DEPRECATED_FUNCTION_START_OFFSET;
+ values.sals[0].pc
+ += gdbarch_deprecated_function_start_offset (current_gdbarch);
values.sals[0].pc = gdbarch_skip_prologue
(current_gdbarch, values.sals[0].pc);
}
diff -urN src/gdb/symtab.c dev/gdb/symtab.c
--- src/gdb/symtab.c 2007-06-13 20:02:39.000000000 +0200
+++ dev/gdb/symtab.c 2007-06-18 09:39:58.000000000 +0200
@@ -2527,7 +2527,7 @@
!section_is_mapped (section))
pc = overlay_unmapped_address (pc, section);
- pc += DEPRECATED_FUNCTION_START_OFFSET;
+ pc += gdbarch_deprecated_function_start_offset (current_gdbarch);
pc = gdbarch_skip_prologue (current_gdbarch, pc);
/* For overlays, map pc back into its mapped VMA range */
@@ -4101,7 +4101,7 @@
/* Get an initial range for the function. */
find_pc_partial_function (func_addr, NULL, &start_pc, &end_pc);
- start_pc += DEPRECATED_FUNCTION_START_OFFSET;
+ start_pc += gdbarch_deprecated_function_start_offset (current_gdbarch);
prologue_sal = find_pc_line (start_pc, 0);
if (prologue_sal.line != 0)
next reply other threads:[~2007-06-18 9:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-18 9:03 Markus Deuling [this message]
2007-06-18 19:31 ` Eli Zaretskii
2007-06-18 20:39 ` Ulrich Weigand
2007-06-19 5:43 ` Eli Zaretskii
2007-06-19 18:57 ` Jim Blandy
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=46764A1B.1030001@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