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:
Andrew Cagney
2004-03-16 20:25:24 +00:00
parent 283accbcf2
commit 73912b9b23
3 changed files with 27 additions and 31 deletions

View File

@@ -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. */