that is referenced nowhere else.
(set_breakpoint): Ditto.
(do_enable_breakpoint): Created from enable_once_breakpoint
with a couple of changes.
(enable_breakpoint): Call do_enable_breakpoint with an appropriate
bpdisp enum value to set disposition of breakpoint.
(enable_once_breakpoint): Ditto.
(enable_delete_breakpoint): Ditto.
* breakpoint.h (clear_momentary_breakpoints): Remove prototype.
* symtab.c (find_pc_line): Improve comments.
* gdbtk.c: Fix a couple of misspellings.
* xcoffread.c: Ditto.
* config/rs6000/rs6000.mh (NATDEPFILES): Move xcoffread.o ...
* config/rs6000/rs6000.mt (TDEPFILES): ... to here
* xcoffsolib.c (xcoff_relocate_symtab_hook): Define and initialize.
(solib_info): Call xcoff_relocate_symtab via the hook.
(sharedlibrary_command): Ditto.
* xcoffread.c: Remove all FAKING_RS6000 comments and defines.
(xcoff_add_toc_to_loadinfo_hook): Define and initialize here.
(xcoff_init_loadinfo_hook): Define and initialize here.
(scan_xcoff_symtab): Call xcoff_add_toc_to_loadinfo via the hook.
(xcoff_initial_scan): Call xcoff_init_loadinfo via the hook.
* xcoffsolib.h (xcoff_relocate_symtab_hook): Declare extern func.
* rs6000-tdep.c (_initialize_rs6000_tdep): Add initializations
of xcoff_add_toc_to_loadinfo_hook and xcoff_init_loadinfo_hook.
* rs6000-nat.c (_initialize_core_rs6000): Add initialization
of xcoff_relocate_symtab_hook.
* Makefile.in (SFILES): Add bcache.c.
(symtab_h): Add bcache.h.
(HFILES_NO_SRCDIR): add bcache.h
(COMMON_OBJS): Add bcache.o
(bcache.o): New target.
* dbxread.c (start_psymtab): Make global_syms & static_syms
type "partial_symbol **".
* hpread.c (hpread_start_symtab): Ditto.
* os9kread.c (os9k_start_psymtab): Ditto.
* stabsread.h (start_psymtab): Ditto.
* {symfile.c, symfile.h} (start_psymtab_common): Ditto.
* maint.c (maintenance_print_statistics): Call
print_symbol_bcache_statistics.
* objfiles.c (allocate_objfile): Initialize psymbol bcache malloc
and free pointers.
* solib.c (allocate_rt_common_objfile): Ditto.
* symfile.c (reread_symbols): Ditto.
(free_objfile): Free psymbol bcache when objfile is freed.
(objfile_relocate): Use new indirect psymbol pointers.
* objfiles.h (struct objfile): Add psymbol cache.
* symfile.c (compare_psymbols): Now passed pointers to pointers to
psymbols.
(reread_symbols): Free psymbol bcache when freeing other objfile
resources.
(add_psymbol_to_list, add_psymbol_addr_to_list): Initialize new
psymbol using the psymbol bcache.
(init_psymbol_list): Psymbol lists now contain pointers rather than
the actual psymbols.
* symfile.h (psymbol_allocation_list): Psymbol lists now dynamically
grown arrays of pointers.
(ADD_PSYMBOL_VT_TO_LIST): Initialize new symbol using the psymbol
bcache.
* symmisc.c (print_partial_symbols): Now takes pointer to pointer
to partial symbol.
(print_symbol_bcache_statistics): New function to print per objfile
bcache statistics.
(print_partial_symbol, print_partial_symbols,
maintenance_check_symtabs, extend_psymbol_list):
Account for change to pointer to pointer to partial symbol.
* symtab.c (find_pc_psymbol, lookup_partial_symbol, decode_line_2,
make_symbol_completion_list):
Account for change to pointer to pointer to partial symbol.
* symtab.h (bcache.h): Include.
* xcoffread.c (xcoff_start_psymtab): Make global_syms & static_syms
type "partial_symbol **".
arguments. Sorting is now dependent on OBJF_REORDERED. All
callers/references changed.
* dbxread.c (read_ofile_symtab): Correctly determine value for
last_source_start_addr for reordered executables.
(process_one_symbol): Handle N_FUN with no name as an end of
function marker.
* partial-stab.h (case N_FN, N_TEXT): Don't assume CUR_SYMBOL_VALUE
is the high text address for a psymtab.
(case N_SO): Likewise.
(case N_FUN): Handle N_FUN with no name as an end of function
marker.
* minsyms.c (lookup_minimal_symbol_by_pc): Examine all symbols
at the same address rather than a random subset of them.
* coffread.c (coff_symfile_init): Set OBJF_REORDERED.
* elfread.c (elf_symfile_init): Similarly.
* somread.c (som_symfile_init): Similarly.
* xcoffread.c (xcoff_symfile_init): Similarly.
Support for debugging reordered executables. Remaining mentor vm
changes.
and dependencies_used after finishing the partial symbol table.
* rs6000-nat.c (xcoff_relocate_core): Don't relocate data
addresses for the main objfile if DONT_RELOCATE_SYMFILE_OBJFILE
is defined.
* xcoffread.c: gcc -Wall lint. Remove traceback table reading
code. The existing code tried to add parameter information for
functions compiled without -g, which cannot be done properly
for optimized code and produced misleading parameter displays.
(ef_complaint, eb_complaint): Make a local static copy to avoid
dependency on coffread.c.
(read_xcoff_symtab, process_xcoff_symbol, scan_xcoff_symtab):
Enter C_EXT/C_HIDEXT symbols into the minimal symbol table only.
(read_xcoff_symtab): Ignore C_STAT section auxiliary entry
symbols. Complain about unmatched .ef and .eb symbols instead of
segfaulting.
(process_xcoff_symbol): Determine value of C_GSYM symbols via
the global_sym_chain mechanism in stabsread.c.
(xcoff_new_init): Call stabsread_new_init and buildsym_new_init.
(init_string_tab): Initialize length field bytes in the strtbl.
(scan_xcoff_symtab): Skip symbols that start with `$' or `.$'.
Set first_fun_line_offset for symbols with two auxents only.
* symfile.c, symfile.h (init_psymbol_list): New function;
consolidate duplicated copies from os9kread.c, dbxread.c
and dwarfread.c.
* defs.h: Declare info_verbose.
* xcoffread.c: Extensive changes to support psymtabs.
func_symbol_type and var_symbol_type as type of functions and
variables which don't have any stabs associated with them.
Reindent most of function.
(_initialize_xcoffread): Initialize *_symbol_type.
* xcoffread.c (read_xcoff_symtab): Reindent most of function.
Put C_HIDEXT symbols in the minimal symbols, rather than ignoring
them (this part commented out as I didn't quite get it to work).
(cs_to_section, find_targ_sec): New functions, to support above code.
* xcoffread.c (RECORD_MINIMAL_SYMBOL): Only skip '.' if it is
actually present.
of using longest_to_int.
* infcmd.c (run_stack_dummy): Reinstate set_current_frame call,
mips and alpha targets need the real breakpoint pc for
creating the breakpoint frame.
* stack.c (return_command): Cast return value to the return
type of the function from which we return.
* values.c (set_return_value): Pass VALUE_CONTENTS unmodified
to STORE_RETURN_VALUE.
* symtab.c (lookup_symbol): Remove search for `static mangled
symbols', the search for `static symbols' already looks for
mangled and demangled symbols via lookup_block_symbol.
* valarith.c (value_binop): Use ANSI C arithmetic conversions
when performing integral evaluations, implement BINOP_EQUAL and
BINOP_LESS.
(value_equal, value_less): Use value_binop to perform the
comparison if both operands have TYPE_CODE_INT.
* rs6000-tdep.c (pop_frame): Make sure all registers are valid,
as they are written back later. Handle sp restore for frameless
functions. Use fdata.nosavedpc instead of fdata.frameless to
determine if the pc has been saved.
(function_frame_info): Handle `mr r31,r1', which is generated by
gcc-2.6, as a synonym for `oril r31,r1,0'.
(skip_trampoline_code): Handle shared library trampolines.
* xcoffread.c (read_xcoff_symtabs): Record XMC_GL symbols with
their real name. Enables setting of breakpoints in shared libraries
before the executable is run.
mst_solib_trampoline.
* f-valprint.c (f_val_print): Change cast of valaddr from
CORE_ADDR * to char **, since that is how it is used.
* dbxread.c (read_dbx_dynamic_symtab): Save copy of symbol names
using obsavestring, and pass that to prim_record_minimal_symbol.
Having the objfile point to bfd_asymbol_name directly doesn't work
if we save and restore a mapped symbol file.
the end of the list of objfiles, instead of at the beginning.
* xcoffread.c (allocate_include_entry): New function, abstracted
from code in record_include_begin.
(record_include_begin, record_include_end): Call it.
* blockframe.c (reinit_frame_cache): Test inferior_pid instead of
target_has_stack to decide whether to create a real stack frame
for the cache.
* coffread.c (process_coff_symbol) [CXUX_TARGET]: Ignore vendor
section.
* config/m88k/tm-cxux.h (CXUX_TARGET): Define.
* h8300-tdep.c: Include "dis-asm.h" instead of <dis-asm.h>.
* xcoffread.c (read_xcoff_symtab): For C_FILE symbols, only use
the auxent if the symbol's name is ".file". From David Edelsohn
<c1dje@watson.ibm.com>.
* xcoffread.c (read_xcoff_symtab): Ignore symbols of class C_EXT,
smtyp XTY_LD, sclass XMC_DS (external data segment label). They
often have the same names as debug symbols for functions, and
confuse lookup_symbol().
library functions before the executable is run. Retrieve dynamic
symbols from stripped executables.
* symtab.h (minimal_symbol_type): Add mst_solib_trampoline type.
* parse.c (write_exp_msymbol), symmisc.c (dump_msymbols),
symtab.c (list_symbols): Handle mst_solib_trampoline.
* minsyms.c (lookup_minimal_symbol): Handle mst_solib_trampoline
for all targets, remove IBM6000_TARGET dependencies.
* dbxread.c (read_dbx_dynamic_symtab): New function.
* dbxread.c (dbx_symfile_read): Use it.
* dbxread.c (SET_NAMESTRING): Set namestring to
"<bad string table index>" instead of "foo" if the string index is
corrupt.
* xcoffread.c (read_xcoff_symtab): Use mst_solib_trampoline instead
of mst_unknown.
* symtab.c (list_symbols): Take from_tty as parameter and pass it
to break_command. Handle mst_file_* minimal symbol types.
Change all references to stdout/stderr to gdb_stdout/gdb_stderr.
Replace all calls to stdio output functions with calls to
corresponding _unfiltered functions (`fprintf_unfiltered')
Replaced calls to fopen for output to gdb_fopen.
Added sufficient goo to utils.c and defs.h to make the above work.
The net effect is that stdio output functions are only directly used
in utils.c. Elsewhere, the _unfiltered and _filtered functions and
GDB_FILE type are used.
In the near future, GDB_FILE will stop being equivalant to FILE.
The semantics of some commands has changed in a very subtle way:
called in the right context, they may cause new occurences of
prompt_for_continue() behavior. The testsuite doesn't notice anything
like this, though.
Please respect this change by not reintroducing stdio output
dependencies in the main body of gdb code. All output from commands
should go to a GDB_FILE.
Target-specific code can still use stdio directly to communicate with
targets.
Move common block handling from dbxread.c to stabsread.c.
Use the name from the BCOMM instead of the ECOMM.
Allocate things on the symbol_obstack.
* xcoffread.c (process_xcoff_symbol): Process C_BCOMM, C_ECOMM,
and C_ECOML. On unrecognized storage classes, go ahead and call
define_symbol (after the complaint).
* dbxread.c (process_one_symbol): Don't relocate 'S' symbols by
the text offset.