/* Do various things to symbol tables (other than lookup), for GDB.
- Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
- 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004 Free Software
- Foundation, Inc.
+ Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
+ 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2007
+ 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 "symtab.h"
break;
}
fprintf_filtered (outfile, "[%2d] %c ", index, ms_type);
- print_address_numeric (SYMBOL_VALUE_ADDRESS (msymbol), 1, outfile);
+ deprecated_print_address_numeric (SYMBOL_VALUE_ADDRESS (msymbol), 1, outfile);
fprintf_filtered (outfile, " %s", DEPRECATED_SYMBOL_NAME (msymbol));
if (SYMBOL_BFD_SECTION (msymbol))
fprintf_filtered (outfile, " section %s",
if (i != 0)
fprintf_filtered (outfile, ", ");
wrap_here (" ");
- print_address_numeric (ANOFFSET (psymtab->section_offsets, i),
+ deprecated_print_address_numeric (ANOFFSET (psymtab->section_offsets, i),
1,
outfile);
}
fprintf_filtered (outfile, "\n");
fprintf_filtered (outfile, " Symbols cover text addresses ");
- print_address_numeric (psymtab->textlow, 1, outfile);
+ deprecated_print_address_numeric (psymtab->textlow, 1, outfile);
fprintf_filtered (outfile, "-");
- print_address_numeric (psymtab->texthigh, 1, outfile);
+ deprecated_print_address_numeric (psymtab->texthigh, 1, outfile);
fprintf_filtered (outfile, "\n");
fprintf_filtered (outfile, " Depends on %d other partial symtabs.\n",
psymtab->number_of_dependencies);
}
static void
-dump_symtab (struct objfile *objfile, struct symtab *symtab,
- struct ui_file *outfile)
+dump_symtab_1 (struct objfile *objfile, struct symtab *symtab,
+ struct ui_file *outfile)
{
int i;
struct dict_iterator iter;
for (i = 0; i < len; i++)
{
fprintf_filtered (outfile, " line %d at ", l->item[i].line);
- print_address_numeric (l->item[i].pc, 1, outfile);
+ deprecated_print_address_numeric (l->item[i].pc, 1, outfile);
fprintf_filtered (outfile, "\n");
}
}
wants it. */
fprintf_filtered (outfile, ", %d syms/buckets in ",
dict_size (BLOCK_DICT (b)));
- print_address_numeric (BLOCK_START (b), 1, outfile);
+ deprecated_print_address_numeric (BLOCK_START (b), 1, outfile);
fprintf_filtered (outfile, "..");
- print_address_numeric (BLOCK_END (b), 1, outfile);
+ deprecated_print_address_numeric (BLOCK_END (b), 1, outfile);
if (BLOCK_FUNCTION (b))
{
fprintf_filtered (outfile, ", function %s", DEPRECATED_SYMBOL_NAME (BLOCK_FUNCTION (b)));
}
}
+static void
+dump_symtab (struct objfile *objfile, struct symtab *symtab,
+ struct ui_file *outfile)
+{
+ enum language saved_lang;
+
+ /* Set the current language to the language of the symtab we're dumping
+ because certain routines used during dump_symtab() use the current
+ language to print an image of the symbol. We'll restore it later. */
+ saved_lang = set_language (symtab->language);
+
+ dump_symtab_1 (objfile, symtab, outfile);
+
+ set_language (saved_lang);
+}
+
void
maintenance_print_symbols (char *args, int from_tty)
{
if (SYMBOL_DOMAIN (symbol) == LABEL_DOMAIN)
{
fprintf_filtered (outfile, "label %s at ", SYMBOL_PRINT_NAME (symbol));
- print_address_numeric (SYMBOL_VALUE_ADDRESS (symbol), 1, outfile);
+ deprecated_print_address_numeric (SYMBOL_VALUE_ADDRESS (symbol), 1, outfile);
if (SYMBOL_BFD_SECTION (symbol))
fprintf_filtered (outfile, " section %s\n",
bfd_section_name (SYMBOL_BFD_SECTION (symbol)->owner,
case LOC_STATIC:
fprintf_filtered (outfile, "static at ");
- print_address_numeric (SYMBOL_VALUE_ADDRESS (symbol), 1, outfile);
+ deprecated_print_address_numeric (SYMBOL_VALUE_ADDRESS (symbol), 1, outfile);
if (SYMBOL_BFD_SECTION (symbol))
fprintf_filtered (outfile, " section %s",
bfd_section_name
case LOC_INDIRECT:
fprintf_filtered (outfile, "extern global at *(");
- print_address_numeric (SYMBOL_VALUE_ADDRESS (symbol), 1, outfile);
+ deprecated_print_address_numeric (SYMBOL_VALUE_ADDRESS (symbol), 1, outfile);
fprintf_filtered (outfile, "),");
break;
case LOC_LABEL:
fprintf_filtered (outfile, "label at ");
- print_address_numeric (SYMBOL_VALUE_ADDRESS (symbol), 1, outfile);
+ deprecated_print_address_numeric (SYMBOL_VALUE_ADDRESS (symbol), 1, outfile);
if (SYMBOL_BFD_SECTION (symbol))
fprintf_filtered (outfile, " section %s",
bfd_section_name
fprintf_filtered (outfile, "block object ");
gdb_print_host_address (SYMBOL_BLOCK_VALUE (symbol), outfile);
fprintf_filtered (outfile, ", ");
- print_address_numeric (BLOCK_START (SYMBOL_BLOCK_VALUE (symbol)),
+ deprecated_print_address_numeric (BLOCK_START (SYMBOL_BLOCK_VALUE (symbol)),
1,
outfile);
fprintf_filtered (outfile, "..");
- print_address_numeric (BLOCK_END (SYMBOL_BLOCK_VALUE (symbol)),
+ deprecated_print_address_numeric (BLOCK_END (SYMBOL_BLOCK_VALUE (symbol)),
1,
outfile);
if (SYMBOL_BFD_SECTION (symbol))
break;
}
fputs_filtered (", ", outfile);
- print_address_numeric (SYMBOL_VALUE_ADDRESS (*p), 1, outfile);
+ deprecated_print_address_numeric (SYMBOL_VALUE_ADDRESS (*p), 1, outfile);
fprintf_filtered (outfile, "\n");
p++;
}
printf_filtered (" fullname %s\n",
psymtab->fullname ? psymtab->fullname : "(null)");
printf_filtered (" text addresses ");
- print_address_numeric (psymtab->textlow, 1, gdb_stdout);
+ deprecated_print_address_numeric (psymtab->textlow, 1, gdb_stdout);
printf_filtered (" -- ");
- print_address_numeric (psymtab->texthigh, 1, gdb_stdout);
+ deprecated_print_address_numeric (psymtab->texthigh, 1, gdb_stdout);
printf_filtered ("\n");
printf_filtered (" globals ");
if (psymtab->n_global_syms)
printf_filtered ("Psymtab ");
puts_filtered (ps->filename);
printf_filtered (" covers bad range ");
- print_address_numeric (ps->textlow, 1, gdb_stdout);
+ deprecated_print_address_numeric (ps->textlow, 1, gdb_stdout);
printf_filtered (" - ");
- print_address_numeric (ps->texthigh, 1, gdb_stdout);
+ deprecated_print_address_numeric (ps->texthigh, 1, gdb_stdout);
printf_filtered ("\n");
continue;
}
printf_filtered ("Psymtab ");
puts_filtered (ps->filename);
printf_filtered (" covers ");
- print_address_numeric (ps->textlow, 1, gdb_stdout);
+ deprecated_print_address_numeric (ps->textlow, 1, gdb_stdout);
printf_filtered (" - ");
- print_address_numeric (ps->texthigh, 1, gdb_stdout);
+ deprecated_print_address_numeric (ps->texthigh, 1, gdb_stdout);
printf_filtered (" but symtab covers only ");
- print_address_numeric (BLOCK_START (b), 1, gdb_stdout);
+ deprecated_print_address_numeric (BLOCK_START (b), 1, gdb_stdout);
printf_filtered (" - ");
- print_address_numeric (BLOCK_END (b), 1, gdb_stdout);
+ deprecated_print_address_numeric (BLOCK_END (b), 1, gdb_stdout);
printf_filtered ("\n");
}
}