2004-03-16 Andrew Cagney * 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. Index: blockframe.c =================================================================== RCS file: /cvs/src/src/gdb/blockframe.c,v retrieving revision 1.92 diff -u -r1.92 blockframe.c --- blockframe.c 16 Feb 2004 21:49:21 -0000 1.92 +++ blockframe.c 16 Mar 2004 20:24:46 -0000 @@ -343,10 +343,13 @@ 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 @@ 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 @@ -505,32 +523,6 @@ } 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, Index: symtab.h =================================================================== RCS file: /cvs/src/src/gdb/symtab.h,v retrieving revision 1.88 diff -u -r1.88 symtab.h --- symtab.h 17 Feb 2004 15:21:22 -0000 1.88 +++ symtab.h 16 Mar 2004 20:24:46 -0000 @@ -1067,9 +1067,6 @@ 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 */