2004-03-16 Andrew Cagney <cagney@redhat.com>
* symtab.h (find_pc_sect_partial_function): Delete declaration. * blockframe.c (find_pc_partial_function) (find_pc_sect_partial_function): Merge into a single find_pc_partial_function.
This commit is contained in:
parent
283accbcf2
commit
73912b9b23
3 changed files with 27 additions and 31 deletions
|
@ -1,3 +1,10 @@
|
|||
2004-03-16 Andrew Cagney <cagney@redhat.com>
|
||||
|
||||
* symtab.h (find_pc_sect_partial_function): Delete declaration.
|
||||
* blockframe.c (find_pc_partial_function)
|
||||
(find_pc_sect_partial_function): Merge into a single
|
||||
find_pc_partial_function.
|
||||
|
||||
2004-03-16 Mark Kettenis <kettenis@gnu.org>
|
||||
|
||||
* i386bsd-nat.c: s/regno/regnum/g.
|
||||
|
|
|
@ -343,10 +343,13 @@ clear_pc_function_cache (void)
|
|||
If it fails, it sets *NAME, *ADDRESS, and *ENDADDR to zero and
|
||||
returns 0. */
|
||||
|
||||
/* Backward compatibility, no section argument. */
|
||||
|
||||
int
|
||||
find_pc_sect_partial_function (CORE_ADDR pc, asection *section, char **name,
|
||||
CORE_ADDR *address, CORE_ADDR *endaddr)
|
||||
find_pc_partial_function (CORE_ADDR pc, char **name, CORE_ADDR *address,
|
||||
CORE_ADDR *endaddr)
|
||||
{
|
||||
struct bfd_section *section;
|
||||
struct partial_symtab *pst;
|
||||
struct symbol *f;
|
||||
struct minimal_symbol *msymbol;
|
||||
|
@ -355,6 +358,21 @@ find_pc_sect_partial_function (CORE_ADDR pc, asection *section, char **name,
|
|||
int i;
|
||||
CORE_ADDR mapped_pc;
|
||||
|
||||
/* To ensure that the symbol returned belongs to the correct setion
|
||||
(and that the last [random] symbol from the previous section
|
||||
isn't returned) try to find the section containing PC. First try
|
||||
the overlay code (which by default returns NULL); and second try
|
||||
the normal section code (which almost always succeeds). */
|
||||
section = find_pc_overlay (pc);
|
||||
if (section == NULL)
|
||||
{
|
||||
struct obj_section *obj_section = find_pc_section (pc);
|
||||
if (obj_section == NULL)
|
||||
section = NULL;
|
||||
else
|
||||
section = obj_section->the_bfd_section;
|
||||
}
|
||||
|
||||
mapped_pc = overlay_mapped_address (pc, section);
|
||||
|
||||
if (mapped_pc >= cache_pc_function_low
|
||||
|
@ -507,32 +525,6 @@ find_pc_sect_partial_function (CORE_ADDR pc, asection *section, char **name,
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* Backward compatibility, no section argument. */
|
||||
|
||||
int
|
||||
find_pc_partial_function (CORE_ADDR pc, char **name, CORE_ADDR *address,
|
||||
CORE_ADDR *endaddr)
|
||||
{
|
||||
struct bfd_section *bfd_section;
|
||||
|
||||
/* To ensure that the symbol returned belongs to the correct setion
|
||||
(and that the last [random] symbol from the previous section
|
||||
isn't returned) try to find the section containing PC. First try
|
||||
the overlay code (which by default returns NULL); and second try
|
||||
the normal section code (which almost always succeeds). */
|
||||
bfd_section = find_pc_overlay (pc);
|
||||
if (bfd_section == NULL)
|
||||
{
|
||||
struct obj_section *obj_section = find_pc_section (pc);
|
||||
if (obj_section == NULL)
|
||||
bfd_section = NULL;
|
||||
else
|
||||
bfd_section = obj_section->the_bfd_section;
|
||||
}
|
||||
return find_pc_sect_partial_function (pc, bfd_section, name, address,
|
||||
endaddr);
|
||||
}
|
||||
|
||||
/* Return the innermost stack frame executing inside of BLOCK,
|
||||
or NULL if there is no such frame. If BLOCK is NULL, just return NULL. */
|
||||
|
||||
|
|
|
@ -1067,9 +1067,6 @@ extern int find_pc_partial_function (CORE_ADDR, char **, CORE_ADDR *,
|
|||
|
||||
extern void clear_pc_function_cache (void);
|
||||
|
||||
extern int find_pc_sect_partial_function (CORE_ADDR, asection *,
|
||||
char **, CORE_ADDR *, CORE_ADDR *);
|
||||
|
||||
/* from symtab.c: */
|
||||
|
||||
/* lookup partial symbol table by filename */
|
||||
|
|
Loading…
Reference in a new issue