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