* expread.y, expread.tab.c: Remove.
* parser-defs.h: New file with common declarations from expread.y.
* c-exp.y: New file with the C parser from expread.y.
* m2-exp.y: New file with the Modula-2 parser.
definition and initialization to *-exp.y.
(lookup_primitive_typename): Use language-dependent vector.
(lookup_typename): Fix bug, make it work if primitive typename.
(lookup_unsigned_typename): Call above.
(create_array_type): Set up range type for array index.
(list_symbols): Call typedef_print to print typedefs.
(Currently #ifndef FIXME'd out awaiting integration.)
of allocating and initializing a new struct symtab. Set the
language of the symtab based on its filename extension.
* symfile.h: Declare it.
* mipsread.c (new_symtab): Use it. Minor formatting changes.
* dbxread.c (end_symtab): Use it.
* mipsread.c (parse_symbol, case stParam and stProc): Add #if 0'd
code for saving types of parameters with each function definition.
* dbxread.c (define_symbol, function and parameter cases): Ditto.
(read_dbx_symtab, case N_DEFD): Ignore.
(read_enum_type): Recognize FALSE/TRUE enum as Modula-2 BOOLEAN
type.
(read_range_type): Rename MAX_OF_TYPE to MAX_OF_C_TYPE, etc.
#if 0 out its uses, though, since they set a dead value.
* coffread.c (end_symtab): Use allocate_symtab.
(process_coff_symbol): #if 0'd for functions and params as above.
(read_enum_type): Recognize Modula-2 BOOLEAN.
and eliminates host dependency on double<->extended conversions.
* i386-xdep.c, symm-xdep.c: Remove most 387 support.
* xconfig/i386{sco,v,v-g,v32,v32-g}: Now need i387-tdep.o.
defining CALL_DUMMY_LOCATION as BEFORE_TEXT_END. This is
because machines that do this will also have to know to
set NEED_TEXT_START_END. Besides, it was a redundant way to
say the same thing.
* tm-29k.h, tm-convex.h, tm-np1.h: Eliminate
CANNOT_EXECUTE_STACK, define CALL_DUMMY_LOCATION and
NEED_TEXT_START_END.
Pass MUNCH_DEFINE to munch whenever we run it.
* munch: Cope with RT/PC putting fns in data segment.
Restore ability to override `nm' by specifying MUNCH_NM.
Allow the register definitions to be overridden in another
tm-file. Fix SR_REGNUM. Add a mess of _REGNUM's. Separate
RETURN_REGNUM from GR96_REGNUM and DUMMY_SAVE_GREGS from
DUMMY_SAVE_GR96, for handling kernel calling conventions
that use GR64+ rather than GR96+.
Merge target arm case with other "easy" cases. Add target
cases a29k-*-none (rehack of am29k), a29k-*-kern (remote to
Ultracomputer kernel), and a29k-*-sym1 (ultracomputer OS's user
process).
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.
the program might be running in another process, but only for
systems with this brain death (#ifdef ONE_PROCESS_WRITETEXT).
* xm-hp300bsd.h, xm-mips.h, xm-vax.h: Define it.
machines with different sized basic types (ints, ptrs, etc).
(Idea from pierre@la.tce.com (Pierre Willard).)
* values.c (value_from_longest): Rename from value_from_long.
Handle pointer types as well as integers, so that targets with
different pointer sizes from the host can be accomodated.
* breakpoint.c, convex-tdep.c, eval.c, expprint.c, printcmd.c,
valarith.c, valops.c, valprint.c, value.h, values.c: Rename
uses of value_from_long to value_from_longest.
machines with different sized basic types (ints, ptrs, etc).
(Idea from pierre@la.tce.com (Pierre Willard).)
* value.c (value_from_longest): Rename from value_from_long.
Handle pointer types as well as integers, so that targets with
different pointer sizes from the host can be accomodated.
* breakpoint.c, convex-tdep.c, eval.c, expprint.c, printcmd.c,
valarith.c, valops.c, valprint.c, value.h, values.c: Rename
uses of value_from_long to value_from_longest.
* eval.c, findvar.c, printcmd.c, valarith.c, valops.c: Pass
the correct pointer type to value_from_long{est}.
* remote-vx.c: Remove obsolete code for calling functions via
vxworks kludge interface (it referenced value_from_long).
* valops.c (value_string): Find malloc with lookup_misc_func, not
raw search.
* breakpoint.c, remote-vx.c: Reword strings printed by
catch_errors callers.
* 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.
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...)