we have breakpoints or watchpoints as we might have to ignore internal
breakpoints.
Fix gdb core dumps after `file newfile' commands.
* symtab.h, symfile.c (clear_symtab_users): New routine which
unconditionally clears symtab users. clear_symtab_users_once
commented out as it was a noop anyway.
* objfiles.c (free_objfile): Don't call clear_symtab_users_once.
* objfiles.c (free_all_objfiles), symfile.c (new_symfile_objfile),
xcoffexec.c (exec_close): Call clear_symtab_users if necessary.
* symfile.c (syms_from_objfile): Install cleanups for errors during
symbol reading.
* coffread.c, dbxread.c, mipsread.c, xcoffread.c (*_symfile_read):
Lint cleanup code, call do_cleanups explicitly.
* symfile.c (symbol_file_add): Call new_symfile_objfile and
reinit_frame_cache _after_ the new symbols are read in.
* dwarfread.c (scan_partial_symbols): Skip over DIE's within
function scopes when building partial symbol tables.
* objfiles.c (open_existing_mapped_file): Make it clear in
warning message that out of date mapped files are ignored.
* symtab.c (lookup_symtab_1, lookup_symbol): Print compilation
unit source file name in error message.
at_import, at_frame_base.
* dwarfread.c (completedieinfo): Remove cases for obsolete
AT_visibility, AT_import, and AT_frame_base attributes.
* breakpoint.h (BREAKPOINT_MAX): Increase from 10 to 16 for
i860, which can keep up to 4 shadow breakpoints.
* tm-stratus.h (USG): Define.
* tm-stratus.h (TARGET_BYTE_ORDER): Define to BIG_ENDIAN.
* xm-stratus.h (HOST_BYTE_ORDER): Define to BIG_ENDIAN.
* xm-stratus.h (xm-sysv4.h): Include, name changed from xm-svr4.h.
* xm-stratus.h (NO_JOB_CONTROL): Remove define.
* config/stratus.mt (TDEPFILES): Include files available from
stratus that are not yet in release pending receipt of paperwork
at FSF.
* buildsym.c (finish_block): Minor code format change.
* gdbtypes.h (struct field): Add to comments.
* gdbtypes.h (virtual_field_bits): Add to comments.
* objfiles.c (allocate_objfile): Change obstack interface to
match FSF merging efforts.
with alloca, to avoid using random values from stack later on.
* defs.h (fprintf_filtered): Add prototype.
* gdbtypes.c (check_stub_method): Fix misleading comments.
* gdbtypes.c (print_arg_types, dump_fn_fieldlists): New maint
support functions.
* gdbtypes.c (print_cplus_stuff, recursive_dump_type): Many
small changes to maint support functions.
* gdbtypes.h (cplus_struct_type): Reorganize member ordering
for some fields and expand comments.
* objfiles.c (allocate_objfile): Use new obstack_alloc_arg
macro and track change to obstack_full_begin macro.
* utils.c (fprintfi_filtered): New function.
* valprint.c (type_print_base): Fixup field printing to not
print extraneous lines and not print bogus "no data fields"
messages for C++ classes with no data members. Also use new
fprintfi_filtered function.
symtab.h, tm-i386v4.h, valprint.c, values.c: Lint.
* breakpoint.c, c-exp.y, coffread.c, command.c, environ.c, eval.c,
findvar.c, infcmd.c, infptrace.c, infrun.c, m2-exp.y, parse.c,
putenv.c, solib.c, sparc-xdep.c, symtab.c, tm-i386v.h, tm-sparc.h,
utils.c, valarith.c, valops.c, valprint.c, values.c:
Replace bcopy() use with memcpy(), which is more standard and can
take advantage of gcc's builtin functions for increased performance.
* breakpoint.c, buildsym.c, coffread.c, dbxread.c, i386-tdep.c,
ieee-float.c, infcmd.c, sparc-tdep.c, stack.c, symtab.c, symtab.h,
target.c, values.c:
Replace bzero() use with memset(), which is more standard and can
take advantage of gcc's builtin functions for increased performance.
* i386-tdep.c, main.c, valprint.c:
Replace bcmp() use with memcmp(), which is more standard and can
take advantage of gcc's builtin functions for increased performance.
extra info in the minimal symbol.
(elf_symtab_read): The extra info is the size of an ELF object,
which was kludged to us in the `udata' field of the BFD symbol.
Gag me with a crowbar...
(elf_symfile_read): Keep track of both the absolute load address,
and the offset between load addr and symbols. Handle STABS as
well as DWARF sections, passing the absolute load address to
elfstab_build_psymtabs.
* objfiles.c (free_objfile): Eliminate storage leaks. Contributed
by <Peter.Schauer@regent.e-technik.tu-muenchen.dbp.de>.
* symfile.c (symfile_bfd_open): Comment where name is freed.
* symmisc.c (extend_psymbol_list): Comment where list is freed.
disconnecting from controlling terminal, to avoid gdb hanging
on SVR4. Fixes bug reported by Oliver Okrongli.
* procfs.c (PROC_NAME_FMT): Change format to match default used
by system, as suggested by Oliver Okrongli.
* tm-68k.h (FRAME_FIND_SAVED_REGS): Apply missing parentheses
bug fix from Brent Townshend (bst%tt@cam.ORG).
* c-exp.y (nonempty_typelist): Fix memory overrun bug reported
by turlais@rechser.total.fr.
* dwarfread.c (decode_subscr_data): Fix bug in calculation of
length of non-zero lowerbound arrays. Bug fix from Peggy Fieland.
* objfiles.h (unlink_objfile): Add prototype.
* objfiles.c (unlink_objfile): Add function.
* objfiles.c (free_objfile): Call unlink_objfile.
* objfiles.c (allocate_objfile): Call unlink_objfile on newly
remapped objfiles. Bug reported by hahn@sunshine.labs.tek.com.
Also, discard old possibly bogus sf struct.
* symfile.c (symbol_file_add): Call init_entry_point_info() and
find_sym_fns() for remapped symbol files, in case of any changes
since the last mapping.
* objfiles.c (free_objfile): Only try to unmap files when
reusable objfiles are supported.
* valprint.c (type_print_varspec_suffix): Add parameter that
specifies if C++ demangling included function arguments. Use
it to suppress printing extra pair of ()'s.
* valprint.c (type_print_1): Fix problem with printing demangled
C++ function types where demangled type includes the function
args.
basis. See comments in objfiles.h and details in ChangeLog. Also remove
redundant definitions of FRAME_CHAIN_VALID from most of the tm-* files and
use a default definition in frame.h.
elfread.c (coff_symfile_finish): Add function, prototype, and
add to the xxxx_sym_fns struct for each file type. Also reformat
the xxxx_sym_fns vector to a standard format and add comments.
* coffread.c, mipsread.c, xcoffread.c, coffread.c, dbxread.c,
elfread.c (xxx_symfile_new_init, xxx_symfile_init, xxx_symfile_read):
Pass pointer to struct objfile rather than pointer to sym_fns.
Change references inside each function accordingly. Allocate any
symbol file specific info in the per-objfile memory region.
* dbxread.c (free_and_init_header_files): Break function into
free_header_files(), called from dbx_symfile_finish(), and
init_header_files(), called from dbx_new_init().
* dbxread.c (dbx_new_init): Move deallocation things to new
dbx_symfile_finish function.
* elfread.c (elf_new_init): Call buildsym_new_init().
* objfiles.c (free_objfile): Call the appropriate symfile_finish()
routine for the objfile before deallocating other stuff.
* sparc-tdep.c (get_longjmp_target): Cast target_read_memory arg.
* symfile.h: Move struct sym_fns to before struct objfile def.
Add sym_finish function pointer and change prototypes of other
function pointers to reflect passing struct objfile pointer rather
than struct sym_fns pointer.
* symfile.c: Remove now obsolete symtab_fns pointer.
* symfile.c (symfile_init): Renamed to find_sym_fns, and now only
locates the correct sym_fns struct for the given objfile.
* symfile.c (syms_from_objfile, symbol_file_add): Restructured
for better support of mapped symbol tables.
* symfile.c (symbol_file_command): Remove obsolete code using
symfile_fns.
* symfile.h: Remove duplicate declarations for symfile_objfile,
entry_point, and object_files.
* target.c (target_info): Compare symfile_objfile to NULL.
* xcoffread.c (aixcoff_new_init): Move deallocation stuff to
aixcoff_symfile_finish().
* All GDB files that #include defs.h: Removed stdio.h.
(defs.h): #include stdio.h.
This has been tested by building GDBs for all targets hosted on Sun4.
None of the build problems were related to stdio.h inclusion. (n.b.
many configurations don't build for other reasons.)
* breakpoint.c (breakpoint_re_set): Use ALL_BREAKPOINTS_SAFE.
* symtab.c (find_pc_symtab): Handle having no objfiles.
* infcmd.c: Fix comment.
* objfiles.c (free_all_objfiles): Add.
* symfile.h (ALL_OBJFILES, ALL_OBJFILES_SAFE): Add.
* symfile.c (symbol_file_command): free all objfiles when
specifying a new symbol file.
(reread_symbols): Stat the file name, don't fstat the descriptor.