include/elf/ChangeLog:
[deliverable/binutils-gdb.git] / gdb / blockframe.c
index 7d9618fc59f44438f2224b0d31e8542ffd5ea1b5..dbb1b4343e3a78cb60594e2b324c6bcad1a59cef 100644 (file)
@@ -1,7 +1,7 @@
 /* Get info from stack frames; convert between frames, blocks,
    functions and pc values.
 
-   Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+   Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
    1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
    Free Software Foundation, Inc.
 
@@ -19,8 +19,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 #include "defs.h"
 #include "symtab.h"
 
 void _initialize_blockframe (void);
 
-/* Test whether PC is in the range of addresses that corresponds to
-   the "main" function.  */
-
-int
-inside_main_func (CORE_ADDR pc)
-{
-  struct minimal_symbol *msymbol;
-
-  if (symfile_objfile == 0)
-    return 0;
-
-  msymbol = lookup_minimal_symbol (main_name (), NULL, symfile_objfile);
-
-  /* If the address range hasn't been set up at symbol reading time,
-     set it up now.  */
-
-  if (msymbol != NULL
-      && symfile_objfile->ei.main_func_lowpc == INVALID_ENTRY_LOWPC
-      && symfile_objfile->ei.main_func_highpc == INVALID_ENTRY_HIGHPC)
-    {
-      /* brobecker/2003-10-10: We used to rely on lookup_symbol() to
-        search the symbol associated to the "main" function.
-        Unfortunately, lookup_symbol() uses the current-language
-        la_lookup_symbol_nonlocal function to do the global symbol
-        search.  Depending on the language, this can introduce
-        certain side-effects, because certain languages, for instance
-        Ada, may find more than one match.  Therefore we prefer to
-        search the "main" function symbol using its address rather
-        than its name.  */
-      struct symbol *mainsym =
-       find_pc_function (SYMBOL_VALUE_ADDRESS (msymbol));
-
-      if (mainsym && SYMBOL_CLASS (mainsym) == LOC_BLOCK)
-       {
-         symfile_objfile->ei.main_func_lowpc =
-           BLOCK_START (SYMBOL_BLOCK_VALUE (mainsym));
-         symfile_objfile->ei.main_func_highpc =
-           BLOCK_END (SYMBOL_BLOCK_VALUE (mainsym));
-       }
-    }
-
-  /* Not in the normal symbol tables, see if "main" is in the partial
-     symbol table.  If it's not, then give up.  */
-  if (msymbol != NULL && MSYMBOL_TYPE (msymbol) == mst_text)
-    {
-      CORE_ADDR maddr = SYMBOL_VALUE_ADDRESS (msymbol);
-      asection *msect = SYMBOL_BFD_SECTION (msymbol);
-      struct obj_section *osect = find_pc_sect_section (maddr, msect);
-
-      if (osect != NULL)
-       {
-         int i;
-
-         /* Step over other symbols at this same address, and symbols
-            in other sections, to find the next symbol in this
-            section with a different address.  */
-         for (i = 1; SYMBOL_LINKAGE_NAME (msymbol + i) != NULL; i++)
-           {
-             if (SYMBOL_VALUE_ADDRESS (msymbol + i) != maddr
-                 && SYMBOL_BFD_SECTION (msymbol + i) == msect)
-               break;
-           }
-
-         symfile_objfile->ei.main_func_lowpc = maddr;
-
-         /* Use the lesser of the next minimal symbol in the same
-            section, or the end of the section, as the end of the
-            function.  */
-         if (SYMBOL_LINKAGE_NAME (msymbol + i) != NULL
-             && SYMBOL_VALUE_ADDRESS (msymbol + i) < osect->endaddr)
-           symfile_objfile->ei.main_func_highpc =
-             SYMBOL_VALUE_ADDRESS (msymbol + i);
-         else
-           /* We got the start address from the last msymbol in the
-              objfile.  So the end address is the end of the
-              section.  */
-           symfile_objfile->ei.main_func_highpc = osect->endaddr;
-       }
-    }
-
-  return (symfile_objfile->ei.main_func_lowpc <= pc
-         && symfile_objfile->ei.main_func_highpc > pc);
-}
-
-/* Test whether THIS_FRAME is inside the process entry point function.  */
-
-int
-inside_entry_func (struct frame_info *this_frame)
-{
-  return (get_frame_func (this_frame) == entry_point_address ());
-}
-
 /* Return the innermost lexical block in execution
    in a specified stack frame.  The frame address is assumed valid.
 
This page took 0.025119 seconds and 4 git commands to generate.