This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[obish] Eliminate find_pc_sect_partial_function


Hello,

It turned out that the exported function find_pc_sect_partial_function was never called outside of blockframe.c (and there only by find_pc_partial_function). This patch eliminates find_pc_sect_partial_function folding it into find_pc_partial_function.

committed,
Andrew
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.

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]