X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fsymmisc.c;h=21bc3d413972747613c062b42036f36b92a1a540;hb=fba45db2faf619e71856ee38ec63949c0ef6903e;hp=ca40a69f75a63945aeaa97aef201b0094832075b;hpb=30727aa6d12fb866494020c0b62ab265a2bdcdfe;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/symmisc.c b/gdb/symmisc.c index ca40a69f75..21bc3d4139 100644 --- a/gdb/symmisc.c +++ b/gdb/symmisc.c @@ -1,6 +1,5 @@ /* Do various things to symbol tables (other than lookup), for GDB. - Copyright 1986, 87, 89, 91, 92, 93, 94, 95, 96, 1998 - Free Software Foundation, Inc. + Copyright 1986, 1987, 1989, 1991-1996, 1998, 2000 Free Software Foundation, Inc. This file is part of GDB. @@ -49,44 +48,41 @@ FILE *std_err; /* Prototypes for local functions */ -static void dump_symtab PARAMS ((struct objfile *, struct symtab *, - GDB_FILE *)); +static void dump_symtab (struct objfile *, struct symtab *, + struct ui_file *); -static void dump_psymtab PARAMS ((struct objfile *, struct partial_symtab *, - GDB_FILE *)); +static void dump_psymtab (struct objfile *, struct partial_symtab *, + struct ui_file *); -static void dump_msymbols PARAMS ((struct objfile *, GDB_FILE *)); +static void dump_msymbols (struct objfile *, struct ui_file *); -static void dump_objfile PARAMS ((struct objfile *)); +static void dump_objfile (struct objfile *); -static int block_depth PARAMS ((struct block *)); +static int block_depth (struct block *); -static void print_partial_symbols PARAMS ((struct partial_symbol **, int, - char *, GDB_FILE *)); +static void print_partial_symbols (struct partial_symbol **, int, + char *, struct ui_file *); -static void free_symtab_block PARAMS ((struct objfile *, struct block *)); +static void free_symtab_block (struct objfile *, struct block *); -void _initialize_symmisc PARAMS ((void)); +void _initialize_symmisc (void); struct print_symbol_args { struct symbol *symbol; int depth; - GDB_FILE *outfile; + struct ui_file *outfile; }; -static int print_symbol PARAMS ((PTR)); +static int print_symbol (PTR); -static void -free_symtab_block PARAMS ((struct objfile *, struct block *)); +static void free_symtab_block (struct objfile *, struct block *); /* Free a struct block <- B and all the symbols defined in that block. */ static void -free_symtab_block (objfile, b) - struct objfile *objfile; - struct block *b; +free_symtab_block (struct objfile *objfile, struct block *b) { register int i, n; n = BLOCK_NSYMS (b); @@ -107,8 +103,7 @@ free_symtab_block (objfile, b) It is s->free_code that says which alternative to use. */ void -free_symtab (s) - register struct symtab *s; +free_symtab (register struct symtab *s) { register int i, n; register struct blockvector *bv; @@ -157,7 +152,7 @@ free_symtab (s) } void -print_symbol_bcache_statistics () +print_symbol_bcache_statistics (void) { struct objfile *objfile; @@ -171,7 +166,7 @@ print_symbol_bcache_statistics () } void -print_objfile_statistics () +print_objfile_statistics (void) { struct objfile *objfile; @@ -210,17 +205,16 @@ print_objfile_statistics () } static void -dump_objfile (objfile) - struct objfile *objfile; +dump_objfile (struct objfile *objfile) { struct symtab *symtab; struct partial_symtab *psymtab; printf_filtered ("\nObject file %s: ", objfile->name); printf_filtered ("Objfile at "); - gdb_print_address (objfile, gdb_stdout); + gdb_print_host_address (objfile, gdb_stdout); printf_filtered (", bfd at "); - gdb_print_address (objfile->obfd, gdb_stdout); + gdb_print_host_address (objfile->obfd, gdb_stdout); printf_filtered (", %d minsyms\n\n", objfile->minimal_symbol_count); @@ -233,7 +227,7 @@ dump_objfile (objfile) { printf_filtered ("%s at ", psymtab->filename); - gdb_print_address (psymtab, gdb_stdout); + gdb_print_host_address (psymtab, gdb_stdout); printf_filtered (", "); if (psymtab->objfile != objfile) { @@ -252,7 +246,7 @@ dump_objfile (objfile) symtab = symtab->next) { printf_filtered ("%s at ", symtab->filename); - gdb_print_address (symtab, gdb_stdout); + gdb_print_host_address (symtab, gdb_stdout); printf_filtered (", "); if (symtab->objfile != objfile) { @@ -267,9 +261,7 @@ dump_objfile (objfile) /* Print minimal symbols from this objfile. */ static void -dump_msymbols (objfile, outfile) - struct objfile *objfile; - GDB_FILE *outfile; +dump_msymbols (struct objfile *objfile, struct ui_file *outfile) { struct minimal_symbol *msymbol; int index; @@ -343,30 +335,28 @@ dump_msymbols (objfile, outfile) } static void -dump_psymtab (objfile, psymtab, outfile) - struct objfile *objfile; - struct partial_symtab *psymtab; - GDB_FILE *outfile; +dump_psymtab (struct objfile *objfile, struct partial_symtab *psymtab, + struct ui_file *outfile) { int i; fprintf_filtered (outfile, "\nPartial symtab for source file %s ", psymtab->filename); fprintf_filtered (outfile, "(object "); - gdb_print_address (psymtab, outfile); + gdb_print_host_address (psymtab, outfile); fprintf_filtered (outfile, ")\n\n"); fprintf_unfiltered (outfile, " Read from object file %s (", objfile->name); - gdb_print_address (objfile, outfile); + gdb_print_host_address (objfile, outfile); fprintf_unfiltered (outfile, ")\n"); if (psymtab->readin) { fprintf_filtered (outfile, " Full symtab was read (at "); - gdb_print_address (psymtab->symtab, outfile); + gdb_print_host_address (psymtab->symtab, outfile); fprintf_filtered (outfile, " by function at "); - gdb_print_address ((PTR) psymtab->read_symtab, outfile); + gdb_print_host_address ((PTR) psymtab->read_symtab, outfile); fprintf_filtered (outfile, ")\n"); } @@ -392,7 +382,7 @@ dump_psymtab (objfile, psymtab, outfile) for (i = 0; i < psymtab->number_of_dependencies; i++) { fprintf_filtered (outfile, " %d ", i); - gdb_print_address (psymtab->dependencies[i], outfile); + gdb_print_host_address (psymtab->dependencies[i], outfile); fprintf_filtered (outfile, " %s\n", psymtab->dependencies[i]->filename); } @@ -412,10 +402,8 @@ dump_psymtab (objfile, psymtab, outfile) } static void -dump_symtab (objfile, symtab, outfile) - struct objfile *objfile; - struct symtab *symtab; - GDB_FILE *outfile; +dump_symtab (struct objfile *objfile, struct symtab *symtab, + struct ui_file *outfile) { register int i, j; int len, blen; @@ -429,7 +417,7 @@ dump_symtab (objfile, symtab, outfile) fprintf_filtered (outfile, "Compilation directory is %s\n", symtab->dirname); fprintf_filtered (outfile, "Read from object file %s (", objfile->name); - gdb_print_address (objfile, outfile); + gdb_print_host_address (objfile, outfile); fprintf_filtered (outfile, ")\n"); fprintf_filtered (outfile, "Language: %s\n", language_str (symtab->language)); @@ -459,11 +447,11 @@ dump_symtab (objfile, symtab, outfile) depth = block_depth (b) * 2; print_spaces (depth, outfile); fprintf_filtered (outfile, "block #%03d, object at ", i); - gdb_print_address (b, outfile); + gdb_print_host_address (b, outfile); if (BLOCK_SUPERBLOCK (b)) { fprintf_filtered (outfile, " under "); - gdb_print_address (BLOCK_SUPERBLOCK (b), outfile); + gdb_print_host_address (BLOCK_SUPERBLOCK (b), outfile); } blen = BLOCK_NSYMS (b); fprintf_filtered (outfile, ", %d syms in ", blen); @@ -502,12 +490,10 @@ dump_symtab (objfile, symtab, outfile) } void -maintenance_print_symbols (args, from_tty) - char *args; - int from_tty; +maintenance_print_symbols (char *args, int from_tty) { char **argv; - GDB_FILE *outfile; + struct ui_file *outfile; struct cleanup *cleanups; char *symname = NULL; char *filename = DEV_TTY; @@ -543,7 +529,7 @@ Arguments missing: an output file name and an optional symbol file name"); outfile = gdb_fopen (filename, FOPEN_WT); if (outfile == 0) perror_with_name (filename); - make_cleanup ((make_cleanup_func) gdb_fclose, (char *) &outfile); + make_cleanup_ui_file_delete (outfile); immediate_quit++; ALL_SYMTABS (objfile, s) @@ -559,12 +545,11 @@ Arguments missing: an output file name and an optional symbol file name"); 1 for success. */ static int -print_symbol (args) - PTR args; +print_symbol (PTR args) { struct symbol *symbol = ((struct print_symbol_args *) args)->symbol; int depth = ((struct print_symbol_args *) args)->depth; - GDB_FILE *outfile = ((struct print_symbol_args *) args)->outfile; + struct ui_file *outfile = ((struct print_symbol_args *) args)->outfile; print_spaces (depth, outfile); if (SYMBOL_NAMESPACE (symbol) == LABEL_NAMESPACE) @@ -705,7 +690,7 @@ print_symbol (args) case LOC_BLOCK: fprintf_filtered (outfile, "block object "); - gdb_print_address (SYMBOL_BLOCK_VALUE (symbol), outfile); + gdb_print_host_address (SYMBOL_BLOCK_VALUE (symbol), outfile); fprintf_filtered (outfile, ", "); print_address_numeric (BLOCK_START (SYMBOL_BLOCK_VALUE (symbol)), 1, @@ -740,12 +725,10 @@ print_symbol (args) } void -maintenance_print_psymbols (args, from_tty) - char *args; - int from_tty; +maintenance_print_psymbols (char *args, int from_tty) { char **argv; - GDB_FILE *outfile; + struct ui_file *outfile; struct cleanup *cleanups; char *symname = NULL; char *filename = DEV_TTY; @@ -780,7 +763,7 @@ maintenance_print_psymbols (args, from_tty) outfile = gdb_fopen (filename, FOPEN_WT); if (outfile == 0) perror_with_name (filename); - make_cleanup ((make_cleanup_func) gdb_fclose, &outfile); + make_cleanup_ui_file_delete (outfile); immediate_quit++; ALL_PSYMTABS (objfile, ps) @@ -791,11 +774,8 @@ maintenance_print_psymbols (args, from_tty) } static void -print_partial_symbols (p, count, what, outfile) - struct partial_symbol **p; - int count; - char *what; - GDB_FILE *outfile; +print_partial_symbols (struct partial_symbol **p, int count, char *what, + struct ui_file *outfile) { fprintf_filtered (outfile, " %s partial symbols:\n", what); while (count-- > 0) @@ -889,12 +869,10 @@ print_partial_symbols (p, count, what, outfile) } void -maintenance_print_msymbols (args, from_tty) - char *args; - int from_tty; +maintenance_print_msymbols (char *args, int from_tty) { char **argv; - GDB_FILE *outfile; + struct ui_file *outfile; struct cleanup *cleanups; char *filename = DEV_TTY; char *symname = NULL; @@ -928,7 +906,7 @@ maintenance_print_msymbols (args, from_tty) outfile = gdb_fopen (filename, FOPEN_WT); if (outfile == 0) perror_with_name (filename); - make_cleanup ((make_cleanup_func) gdb_fclose, &outfile); + make_cleanup_ui_file_delete (outfile); immediate_quit++; ALL_OBJFILES (objfile) @@ -940,9 +918,7 @@ maintenance_print_msymbols (args, from_tty) } void -maintenance_print_objfiles (ignore, from_tty) - char *ignore; - int from_tty; +maintenance_print_objfiles (char *ignore, int from_tty) { struct objfile *objfile; @@ -957,9 +933,7 @@ maintenance_print_objfiles (ignore, from_tty) /* Check consistency of psymtabs and symtabs. */ void -maintenance_check_symtabs (ignore, from_tty) - char *ignore; - int from_tty; +maintenance_check_symtabs (char *ignore, int from_tty) { register struct symbol *sym; register struct partial_symbol **psym; @@ -1044,8 +1018,7 @@ maintenance_check_symtabs (ignore, from_tty) /* Return the nexting depth of a block within other blocks in its symtab. */ static int -block_depth (block) - struct block *block; +block_depth (struct block *block) { register int i = 0; while ((block = BLOCK_SUPERBLOCK (block)) != NULL) @@ -1061,9 +1034,8 @@ block_depth (block) be freed in free_objfile(). */ void -extend_psymbol_list (listp, objfile) - register struct psymbol_allocation_list *listp; - struct objfile *objfile; +extend_psymbol_list (register struct psymbol_allocation_list *listp, + struct objfile *objfile) { int new_size; if (listp->size == 0) @@ -1088,7 +1060,7 @@ extend_psymbol_list (listp, objfile) /* Do early runtime initializations. */ void -_initialize_symmisc () +_initialize_symmisc (void) { std_in = stdin; std_out = stdout;