first.
* main.c (main, print_gnu_advertisement, print_gdb_version):
Reformat legalese so it always prints, but acts as an "I'm here"
message while symbols are being read. If any errors occur,
print a few newlines to set off the message and start it at the
left margin. Remove mention of "help" command, and don't yak about
symbol reading.
(catch_errors): Error string is now printed first in case of
error, not last.
* command.c (undef_cmd_error, lookup_cmd): On undefined command,
suggest the "help" command.
* Makefile.in (VERSION): Set to 4.0.2.
* core.c (core_open): Open file ourselves, read or r/w, depending on
write_files. Use bfd_fdopenr.
* gdbcore.h (write_files): New variable.
* exec.c (write_files): Define variable, add set&show for it.
(exec_file_command): Use write_files to open for read or r/write.
Make shared library reading happen automatically. These changes
are mostly from Peter Schauer <pes@regent.e-technik.tu-muenchen.de>.
* inferior.h (stop_soon_quietly): Add to exported variables.
* infrun.c (child_create_inferior): call solib hook, if defined.
(child_attach): call solib hook, if defined.
* solib.c: Include inferior.h. Add from_tty to so_list as kludge.
(find_solib): Use lookup_misc_func rather than hand-rolled.
(symbol_add_stub): New stub for catch_errors.
(solib_add): Avoid output if !from_tty. Catch errors rather
than just calling symbol_file_add and bombing.
(solib_create_inferior_hook): Interface with the target process
to let it read and alloc shared libs, then figure out what it did.
* core.c (validate_files): Fix typo, soften warning.
(Fix from Hiroto Kagotani <kagotani@cs.titech.ac.jp>.)
* utils.c (fputs_demangled): Avoid duplicate printing if
demangling is off. (Fix from J.T. Conklin <jtc@cayenne.com>.)
* infrun.c (proceed): Cast -1 to (CORE_ADDR) before comparing.
(Fix from pierre@la.tce.com (Pierre Willard).)
* main.c (catch_errors): Change argument to a char * from an int,
since a char * can point to a struct full of glop, but an int
is not guaranteed to be able to hold a pointer.
* breakpoint.c (breakpoint_cond_eval, bpstat_stop_status,
breakpoint_re_set_one, breakpoint_re_set): Adapt.
* core.c (core_open, solib_add_stub): Adapt.
* remote-vx.c (symbol_stub, add_symbol_stub, callers): Adapt.
* tm-sparc.h (PC_ADJUST): Avoid calling error() from this;
it causes recursive calls to error() when used in cleanups.
To do so requires that we make it a function, so we do.
* sparc-tdep.c (sparc_pc_adjust): New implem of PC_ADJUST.
* utils.c (do_cleanups): Remove the current cleanup from the
chain *before* calling it, in case error() is called from it.
The result won't be pretty, but won't be an infinite loop either.
(long_options): Terminate with a zero element.
[Bugfix from Atsuo Kawaguchi <atsuo@hark86.harl.hitachi.co.jp>.]
(gdb_readline): Make call-compatible with readline.
(init_signals): Improve comments re vfork vs. signal.
* utils.c (prompt_for_continue): Use new gdb_readline().
If we prompt for continuation, we don't let CR repeat the previous
command, once we get back to a prompt. It's too easy to keep
hitting CR, expecting "--more--" prompts, and have some long
command start repeating on you.
The child can be proceeded from inside wait_for_inferior in
evaluating breakpoint conditions, and DO_DEFERRED_STORES was
getting skipped in that case.
* expprint.c (print_subexp): Use filtered output, since the
subroutines we call use it, otherwise the output is horribly
mangled, since output of wrappable stuff comes out late.
* TODO: Document work needed on &fn and &array.
* printcmd.c (print_address_symbolic): New arg is the prefix
to print if a name is printed.
(print_address_demangle): Honor "set print address" now.
Use new arg above to improve spacing of output.
* valprint.c (val_print): When printing function pointers,
print symbolic form too.
* breakpoint.c (breakpoint_1): Use new print_address_symbolic.
* mips-pinsn.c (print_insn_arg 'd'): Print $ with reg name.
* mipsread.c (read_mips_symtab, read_the_mips_symtab,
parse_partial_symbols): Use newer BFD internals (external_filehdr
and external_aouthdr), byte-swap the fields that we care about
before using them, and make the file header data local to
read_the_mips_symtab rather than global.
* configure.in, Makefile.in: Avoid rebuilding "depend" as much.
Avoid declaring Makefile dependencies, because GNU Make stupidly
tries to update it if we do.
* coffread.c: Revise for minor changes to bfd internal coff
indexes.
* configure: If -template= is given a relative path, make it
absolute before recurring in subdirectories.
docn into separate sections---basically chapters, plus two loose
pieces that can be configured to go in different places. This
allows GNU m4 to preprocess the manual without coredumping.
* Makefile.dist: tell TeX where to find texinfo.
stuff for config manual) here where it counts; updated
to use new subdir structure (gdb/doc/).
* Makefile: generated from above via
config.gdb none
before checkin
files, formatted from gdb.texinfo (via gdb-all.texinfo, see
Makefile)---but due to use of texinfo 2, can't count on makeinfo
to generate these, so we distribute them already formatted.
* gdb.texinfo: included full Info node and menu crud (as generated
by C-u M-x texinfo-master-menu using the texinfo-2 elisp code).
* Makefile: updated "gdb.dvi" target to use M4 preprocessor;
put in comments-for-future gdb.info target (one day makeinfo will
work again).
* cplus-dem.c: Move CPLUS_MARKER define to after defs.h.
* infptrace.c (PT_WRITE_D, PT_READ_D): Use correct values.
(This still doesn't seem to make MIPS bkpts work.)
* mipsread.c: Remove dup "Reading symbol data..." msg.
(symbol_file_command, add_file_command): Remove, obsol.
* printcmd.c (ptype_command): Say "an enum" rather than "a enum".
Wrap output appropriately.
* stack.c (locals_info, catch_info, args_info): Check
selected_frame rather than target_has_stack or coredumping.
* valprint.c (type_print_varspec_suffix): Wrap "ptype" output of
enums appropriately.
eval.c, expprint.c, infcmd.c, infrun.c, main.c, printcmd.c,
remote.c, source.c, stack.c, dbxread.c, coffread.c, symfile.h,
symfile.c, utils.c, valarith.c, values.c, valops.c, tm-68k.h,
target.c, inftarg.c, ieee-float.c, environ.c, defs.h,
command.h, inferior.h, gdbcore.h, symtab.h, expression.h,
symtab.c, cplus-dem.c, value.h, expread.y, valprint.c,
copying.awk, solib.c, inflow.c, symmisc.c
: Lint. Use read_memory not read_memory_integer on CORE_ADDR's.
Use {value_as,unpack}_pointer (added to values.c)
not {value_as,unpack}_long on CORE_ADDR's.
Use longest_to_int (added to defs.h) instead of cast to int.
Remove from_tty arg to mod_path.
Put symfile_bfd in {coff,dbx}read.c not symfile.h.
Use OP_NULL instead of 0 where dummy enum exp_opcode needed.
* valprint.c (type_print_base): If the type being printed is a
struct containing undefined types, print "<undefine type>"
as the type instead of crashing.
* values.c (value_headof): Get the vtable pointer taking
TYPE_VPTR_BASETYPE into account.
* symtab.c, symtab.h, dbxread.c: Fix various whitespace splotches.
cross-debugging and not necessary anymore (see IN_SIGTRAMP in
xm-vax.h)).
[SET_STACK_LIMIT_HUGE]: Include <sys/{resource,time}.h>.
xm-tahoe.h: Don't define _DIRENT_.
* xm-tahoe.h: Remove USE_OLD_TTY (not needed now that terminal.h
includes sgtty.h before sys/ioctl.h).
the symtabs which we all know and love: (1) Look in the
STATIC_BLOCK for mangled symbols right after we check the blocks,
(2, 3) Look in the STATIC_BLOCK for all the symtabs and psymtabs
at the end.
* dbxread.c (read_struct_type): If const/volatile character is
missing, don't complain, just continue.
* dbxread.c (read_struct_type): Only try to read the fcontext if
it is there. Also change "error_type " to "return error_type ".
values.c (value_virtual_fn_field): If there is no fcontext,
then do things the way GDB 3.x did.
valops.c (search_struct_method): Add type to value_virtual_fn_field
arguments.
* dbxread.c (read_struct_type): Fix typo: *pp != '\0' -> **pp != '\0'.
core.c (core_close): Call CLEAR_SOLIB.
(core_open): Remove comment about "should deal with shared lib".
(core_xfer_memory): If we can't xfer the usual way, try the
shared libraries.
solib.c (so_list): New fields so_bfd and so_sections{,_end}.
(find_solib): Use solib_map_sections to get ld_text.
(solib_map_sections, solib_xfer_memory): New functions.
(clear_solib): Free so_sections and close so_bfd.
tm-sunos.h: Add solib_xfer_memory, solib_add.
chain before giving up with an internal error.
Sun Apr 21 21:43:10 1991 Jim Kingdon (kingdon at cygint.cygnus.com)
* value.h, values.c (value_{,free_to_}mark): New functions.
breakpoint.c (bpstat_stop_status): Use them.
(set_section_command): New command ("section xxx yyy" -- should
be renamed to "set section xxx yyy" FIXME) which sets the
base address of a section of the exec file, overriding the
virtual address that BFD reports.