(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.