* 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.
executing_breakpoint_commands if we are interrupted by error.
* coffread.c (init_lineno): Avoid problem with zero-sized linetab
versus malloc/free. From: john@labtam.labtam.oz.au (John Carey).
* core.c (solib_add_stub, core_open): Call SOLIB_ADD inside a
catch_errors() so we can setup the frame regardless of whether
the shared libs work.
* ieee-float.c (double_to_ieee_extended): Get exponent from
right place in little-endian systems. From John Carey.
* blockframe.c (get_prev_frame_info): If FRAME_CHAIN_COMBINE
returns 0, there is no previous frame.
* breakpoint.c (commands_command): If !from_tty, don't call
input_from_terminal_p().
* dbxread.c (record_misc_function): Speed up slightly.
(compare_psymbols): Ditto.
* infcmd.c (do_registers_info): Take a second argument to
determine whether to print float registers. "info registers"
does not do so anymore. "info all-registers" does, now.
* mips-tdep.c, pyr-tdep.c (xxx_do_registers_info): Take second
arg and ignore it.
* tm-mips.h, tm-pyr.h (DO_REGISTERS_INFO): Pass second arg.
* inflow.c (initialize_inflow): Set tflags_ours correctly.
(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.
modifies static state in the parent process; new_tty itself
runs in the child and modifies the child's file descriptors
to match the saved static state.
* infrun.c (child_create_inferior): Call new_tty_prefork,
fork, then new_tty.
remote-vx.c, remote.c, target.c, target.h: Remove add_syms vector
from target_ops. It's the same on all targets. Add two section
pointers to target_ops.
section list is to be added to, if any. Reallocate the
sections in that target to add any that come from shared libs.
(throughout) so_sections renamed to sections.
(solib_xfer_memory): Deleted.
* tm-sunos.h (SOLIB_ADD): Add target argument.
(SOLIB_XFER_MEMORY): Delete.
* xm-sun3os4.h, xm-sun4os4.h: Define BROKEN_LARGE_ALLOCA,
and add comment explaining shared library screw.
section table pointers and bfd* into the target_ops.
(core_open): Allow errors in shared lib reading, etc.
(core_files_info): Describe shared library sections.
* exec.c (exec_open, exec_close, exec_xfer_memory, xfer_memory,
exec_files_info, set_section_command): Move section table
pointers and bfd* into the target_ops.
(add_to_section_table): Add BFD to section table.
* target.c (target_xfer_memory, target_info): Pass target to
xfer_memory and target_info functions.
* target.h: ''
* gdbcore.h: Move struct section_table.
* target.h: New home of struct section_table.
calling SKIP_PROLOGUE_FRAMELESS_P if it's defined.
* tm-sparc.h (SKIP_PROLOGUE, SKIP_PROLOGUE_FRAMELESS_P):
Define two variants, one faster.
* sparc-tdep.c (sparc_frame_chain): Use target_read_memory
and return zero, rather than giving an error.
(setup_arbitrary_frame): Initialize the PC in the new frame.
(skip_prologue): Add a second arg saying whether we're just
checking for a frameless function or not.
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.
@example/@end example. Without this it formatted fine by
texinfo-format-buffer in Emacs, but makeinfo insisted on paragraphing
it!
Also removed "gdb/" from in front of one instance of libiberty...
Minor typo and formatting fixes; incorporated most fixes remaining from
filed mail commenting on earlier drafts.
Added warnings: pipes don't work in run command;
conditions are converse of assertions;
step over fn without debug info goes to next fn;
vars may have "wrong" values near fn entrance, exit
Added example from Kingston on printing repeated nonadjacent values
Added explicit mention that in Emacs gdb mode C-c and C-z are like
shell mode for signals
Improved installation directions in appendix, added manual formatting
instructions
Renamed "Stepping and Continuing" to "Continuing and Stepping" so it
doesn't sound so much like its parent "Stopping and Continuing"; also
moved entries on continue to top of section, so they don't get lost.
through chapsec 5.2)
(2) Eliminated use of @footnote---had my doubts about it anyways, and
it's broken in latest texinfo
(3) Introduced *some* use of [] for optional arguments, where
explanation is not simpler by listing cmd w arg and cmd w/out arg
separately. Still not using @deffn.
(4) Dropped in GPL-2. NOTE: one of GPL-2 or texinfo is broken; a
couple of headings are too long. Need patches to texinfo or revision
to GPL-2.
page (had crept onto front of title page w/ other stuff migrating between
gdb.texinfo and gdb.top-m4).
2) gdb.top-m4: added Detailed Node Listing to main menu.
made $Id: for fragment into texinfo comment.
for either generic manual (material near back, in "targets"), or for special
cross-debugging manuals (material near front, in "invocation").
2) Allowed $Id: tag to appear as texinfo comment.
2) allowed $Id: tag to appear in post-M4 file by turning it into texinfo
rather than m4 comment;
3) Disabled @group where no longer supported by texinfo
* 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.
in gdb.top-m4 when files were split), for continuity in version
numbering: the version of the manual is the version of the layout file.
(By R. Pesch fiat).
* main.c: Include with "..." form for non-system include files,
so "gcc -MM" for "make depend" works.
Include readline files with "...h" rather than <readline/...h>.
instructions to "Targets" chapter for generic manuals, while
leaving them up front for manuals specific to specialized
environments; apply fixes from RMS comments through chapter 4.
* pretex.m4: modify explanatory text slightly (and redefine
"regexp") to keep GNU m4 from complaining. (It still crashes
later, but one step at a time...)
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).
(2) Reorganized, bringing more common commands forward, merging
"print" and "x" into one section;
(3) New sections: "Essential Commands", "GDB Scripts";
(4) Material on convenience vars and value history added to "Expressions";
(5) Uses PostScript fonts by default, also includes (commented out) alternative
Computer Modern font definitions that format similarly.
* 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.
Get getopt and obstack from -liberty rather than compiling them here.
* coffread.c: turn a printf into a complain(), and try to deal more
gracefully with botched-looking lineno pointers.
* dbxread.c: Use bfd_get_symcount rather than bfd_get_symcount_upper_bound.
Don't coredump on files with zero symbols in them (a BFD bug showed this one).
* environ.c: Pass GNUTARGET into the parent (gdb) as well as the child.
* 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).
or not defined. Don't define it based on TARGET_BYTE_ORDER if
it's already defined (in the tm.h file).
mips-opcode.h (BIT_FIELDS_*),
values.c (modify_field, unpack_field_as_long):
Use #if BITS_BIG_ENDIAN not #ifdef BITS_BIG_ENDIAN.
rather than smash_to_method_type.
* values.c (check_stub_method): Deal with operator names.
* values.c: Move declaration of cplus_demangle to top of file.
* values.c (baseclass_addr): If can't read memory, set *ERRP
rather than calling error().
* values.c (value_static_field): Recursively check all baseclasses.
Return NULL if not found.
* values.c, value.h: New functions value_{headof,from_vtable_info}.
values.c (value_virtual_fn_field):
Don't bother to do anything with
return value from fill_in_vptr_fieldno.CVS: Modified Files:
specially.
* valprint.c: Move print controls to top and add objectprint.
Add command "set print object on/off".
* valprint.c (value_print, is_vtbl_member): Put things in local
variables rather than continually doing VALUE_TYPE (val), etc.
regardless of LONG_LONG.
symtab.c, symtab.h (allocate_stub_method): New function.
* symtab.c (decode_line_1): Deal with operators specified as
"operator" <optional whitespace> <symbols for operator>.
(operator_chars): Help do it.
* symtab.c (lookup_struct_elt_type): Call check_stub_type.
Take additional argument noerr.
Don't dump core if TYPE_FIELD_NAME is NULL.
Check the baseclasses recursively.
is OP_SCOPE, give an error.
* eval.c (evaluate_subexp): Pass third arg to lookup_struct_elt_type.
* eval.c (evaluate_subexp), values.c (value_virtual_fn_field):
Don't bother to do anything with
return value from fill_in_vptr_fieldno.
* eval.c (evaluate_subexp): If value_static_field returns NULL,
give an error.
and start clobbering it; allocate_stub_method instead.
* dbxread.c (read_struct_type): Put "op$" instead of "operator"
in the symbol table.
* dbxread.c (read_struct_type): Set fcontext to 0 for normal member
function.
* dbxread.c (read_struct_type): Initialize name to 0.
* dbxread.c (read_ofile_symtab, N_CATCH): Add offset to bufp->n_value.
* dbxread.c (dbx_create_type): Zero TYPE_VPTR_BASETYPE.
(read_struct_type): Don't bother to set TYPE_VTPR_{BASETYPE,FIELDNO}
if it's just going to be {0,1}.
* dbxread.c (virtual_context): Use TYPE_BASECLASS starting at 0
(yes, it's #if 0, but just in case...).
expread.y (typebase): Add {unsigned,} long long {,int}.
* expread.y (variable): Allow for destructor with foo::~name.
* vax-opcode.h, expread.y, expprint.c, cplus-dem.c: Declare some
things "const".
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.
Wed Apr 17 17:09:48 1991 Jim Kingdon (kingdon at cygint.cygnus.com)
* i386-tdep.c (i386_get_frame_setup): Use SWAP_TARGET_AND_HOST
before returning locals or slocals.
* i386-tdep.c (i386_follow_jump): Do not add data16 to pos in
call to codestream_seek; add one to pos if (and only if)
we are dealing with a jump with data16 == 1 (i.e. 0x66, 0xe9).
Mon Apr 15 12:04:32 1991 Jim Kingdon (kingdon at cygint.cygnus.com)
* valops.c (call_function_by_hand): Put dummy1 in target order
before FIX_CALL_DUMMY.
* tm-i386v.h (FIX_CALL_DUMMY): Don't depend on host byte order.
Sun Apr 14 11:55:19 1991 Jim Kingdon (kingdon at cygint.cygnus.com)
* valops.c (push_word): Add SWAP_TARGET_AND_HOST.
* remote.c (remote_open): Send '+' before calling putpkt().
* tm-i386v.h (REGISTER_VIRTUAL_TYPE): Return pointer to void,
not int, for pc, fp, and sp.
* remote.c (remote_open): Call start_remote after putpkt("?");
defines for the blocks of a blockvector that contain global and
file-static symbols and the first of the smaller scope contours.
* symtab.c (lookup_symbol, find_pc_symtab, find_pc_line,
decode_line_1, make_symbol_completion_list): Use the above.
* symtab.c (list_symbols): Process the first symbol of the
static psymbols list.
(types_info): Restore this function from its untimely #if 0.
It's not perfect, but it is better than nothing.
(_initialize_symtab): Restore "info types".
target.c: Add target_preopen and target_command.
Remove target_info.
(add_target): Call add_cmd and mess with targetlist->doc.
core.c, exec.c, remote-eb.c, remote-nindy.c, remote-vx.c,
remote-vx.68.c, inftarg.c, remote.c: Add doc field to target struct.
Call target_preopen from open routine.
been read in, particularly for VxWorks.
* symfile.c (symbol_file_add): Use filtered printing and wrap it.
If we have wiped out any old symbol tables, clean up at end of
symbol reading.
(symbol_file_command): Don't reference symfile_fns if it's zero.
defines for the blocks of a blockvector that contain global and
file-static symbols and the first of the smaller scope contours.
* mipsread.c: Use them.
* coffread.c (end_psymtab): Free named symtabs and psymtabs for
a file, once a new symtab has been read for it.
* mipsread.c: FIXME. We need to do the same for MIPS, but it
looks harder to determine the top-level block before it's been
queued to the psymtab list.
a file, once a new symtab has been read for it.
* symtab.h (GLOBAL_BLOCK, STATIC_BLOCK, FIRST_LOCAL_BLOCK): New
defines for the blocks of a blockvector that contain global and
file-static symbols and the first of the smaller scope contours.
* symtab.c (lookup_symbol, find_pc_symtab, find_pc_line,
decode_line_1, make_symbol_completion_list): Use the above.
* coffread.c (end_symtab, patch_opaque_types): Ditto.
been read in, particularly for VxWorks.
* dbxread.c (read_dbx_symtab): Allow N_SOL to cleanly take us back
to the main file, as well as to include files. Also, put global
functions into the global psymtab, to make "i fun" work.
(end_psymtab): Free named symtabs and psymtabs for a file, once a
new psymtab for it has been read.
(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.
Update stuff on option flags, full text, mention -help;
Better localization of target-specific stuff;
introduce 'path' command and discussion of exec path as opp src path;
document which commands don't repeat w RTN;
update and improve several examples, eg deleting (...)
Throughout: attempts to clarify etc.
(2) fix two bugs reported by Per Bothner;
(in markup for makeinfo)
(3) eliminate info structural information that can be generated
by texinfo-master-menu.
1a) Isolate Nindy-960 stuff into subsection of above, and expand it;
(2) Expand GDB-under-Emacs chapter;
(3) Minor cosmetics, including small free software blurb at front to
make RMS feel better about GPL moved to back.
document transmutation of add-file into sym-file and new meaning for
"load" (dynamic link/download, target-rel); document "info target" and
warn about similarity with "info targets"; document target strata rather
than stack; document "up-silently" and "down-silently"; add text about
when value history discarded.
gdb no longer prints the copyright and blurb if you specify a file
name to be debugged (just like Emacs). Add doc for Nindy-specific
command line flags for specifying target serial port and such.
Update copyright to 1991.