/* Read NLM (NetWare Loadable Module) format executable files for GDB.
- Copyright 1993, 1994, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1994, 1995, 1996, 1998, 1999, 2000
+ Free Software Foundation, Inc.
This file is part of GDB.
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 "gdb_string.h"
#include "bfd.h"
#include "symtab.h"
#include "symfile.h"
#include "objfiles.h"
-#include "gdb-stabs.h"
#include "buildsym.h"
#include "stabsread.h"
+#include "block.h"
extern void _initialize_nlmread (void);
storage_needed = bfd_get_symtab_upper_bound (abfd);
if (storage_needed < 0)
- error ("Can't read symbols from %s: %s", bfd_get_filename (abfd),
+ error (_("Can't read symbols from %s: %s"), bfd_get_filename (abfd),
bfd_errmsg (bfd_get_error ()));
if (storage_needed > 0)
{
symbol_table = (asymbol **) xmalloc (storage_needed);
- back_to = make_cleanup (free, symbol_table);
+ back_to = make_cleanup (xfree, symbol_table);
number_of_symbols = bfd_canonicalize_symtab (abfd, symbol_table);
if (number_of_symbols < 0)
- error ("Can't read symbols from %s: %s", bfd_get_filename (abfd),
+ error (_("Can't read symbols from %s: %s"), bfd_get_filename (abfd),
bfd_errmsg (bfd_get_error ()));
for (i = 0; i < number_of_symbols; i++)
bfd *abfd = objfile->obfd;
struct cleanup *back_to;
CORE_ADDR offset;
- struct symbol *mainsym;
init_minimal_symbol_collection ();
back_to = make_cleanup_discard_minimal_symbols ();
nlm_symtab_read (abfd, offset, objfile);
- stabsect_build_psymtabs (objfile, mainline, ".stab",
- ".stabstr", ".text");
-
- mainsym = lookup_symbol ("main", NULL, VAR_NAMESPACE, NULL, NULL);
-
- if (mainsym
- && SYMBOL_CLASS (mainsym) == LOC_BLOCK)
- {
- objfile->ei.main_func_lowpc = BLOCK_START (SYMBOL_BLOCK_VALUE (mainsym));
- objfile->ei.main_func_highpc = BLOCK_END (SYMBOL_BLOCK_VALUE (mainsym));
- }
-
- /* FIXME: We could locate and read the optional native debugging format
- here and add the symbols to the minimal symbol table. */
-
/* Install any minimal symbols that have been collected as the current
minimal symbols for this objfile. */
install_minimal_symbols (objfile);
-
do_cleanups (back_to);
+
+ stabsect_build_psymtabs (objfile, mainline, ".stab",
+ ".stabstr", ".text");
+ /* FIXME: We could locate and read the optional native debugging format
+ here and add the symbols to the minimal symbol table. */
}
static void
nlm_symfile_finish (struct objfile *objfile)
{
- if (objfile->sym_private != NULL)
+ if (objfile->deprecated_sym_private != NULL)
{
- mfree (objfile->md, objfile->sym_private);
+ xfree (objfile->deprecated_sym_private);
}
}