[Support for trace debugging: registers that were not collected.]
* remote.c (remote_fetch_registers): accept 'xxxx' in the register
packet, with the meaning "register value is not available".
Set register_valid to -1, which will connote "no value available".
* findvar.c (read_relative_register_raw_bytes): return failure if
register_valid == -1. (value_of_register): return failure if
register_valid == -1. (read_var_value): return error if
value_of_register fails for a register variable.
(value_from_register): return failure if register_valid == -1.
* eval.c (evaluate_subexp_standard): return error if
value_of_register fails for a register used in an expression.
* infcmd.c (do_registers_info): display "value not available"
for registers for which register_valid == -1.
* tracepoint.c (set_raw_tracepoint): just save the filename as is
from the symbol table, rather than trying to prepend the dir name.
Also save the bfd section. (tracepoints_info): use the section
when looking up the function name.
* tracepoint.h: add section field to tracepoint struct.
* patch approved by shebs
Wed Oct 28 12:33:52 EST 1998 Frank Ch. Eigler <fche@cygnus.com>
* configure.in: Accept both -skyb- and -sky- for
--with-sim-funit/gpu2 options.
* configure: Rebuilt.
* configure.in (AM_EXEEXT): Use AC_EXEEXT instead.
* configure: Regenerated.
Geoff just removed the AM_EXEEXT definition from ../binutils/aclocal.m4
so we would have been hosed in the near future.
* command.c copying.c copying.awk core-aout.c core-regset.c
corelow.c dcache.c i386-tdep.c i386v4-nat.c i387-tdep.c
infcmd.c infptrace.c infrun.c remote.c solib.c symfile.c
symmisc.c valarith.c: Add prototypes.
* defs.h: Add prototype for utils.c::do_run_cleanups.
* gdbtypes.c: Add prototypes.
(make_pointer_type): Add braces to remove nested if-else ambiguity.
(make_reference_type): Ditto.
* printcmd.c (printf_command): Initialize 'f' and 'string' at
function startup to suppress possibly-used-before-initialized warning.
* remote-utils.c: Add prototypes.
(sr_pollchar): Add braces to remove nested if-else ambiguity.
* ser-tcp.c: Add prototypes.
(wait_for): Add braces to remove nested if-else ambiguity.
(tcp_readchar): Ditto.
* ser-unix.c: Add prototypes.
(get_tty_state): Don't define errno here.
(get_tty_state): Don't define errno here.
(hardwire_readchar): Only define 't' if we are compiling in a Cygwin
environment.
* symtab.c: Add prototypes.
(find_methods): Add braces to remove nested if-else ambiguity.
(search_symbols): Set 'i' to an initial value to suppress a
possibly-used-before-initialized warning.
* valops.c: Add prototypes.
(value_cast): Set 'eltype2' to an initial value to suppress a
possibly-used-before-initialized warning.
(value_of_variable): Add braces to remove nested if-else ambiguity.
(value_of_this): Ditto.
* valprint.c: Add prototypes.
(print_floating): Add braces to remove nested if-else ambiguity.
Looks like a big change, but it is really just a lot of small stuff.
In the cases where GCC was flagging a possible use-before-initialized
warning on variables, it turned out that these were being used properly
but GCC couldn't see that.
"wait.h" was defining all WIF* macro's instead of filling in those
that <wait.h> missed. Stops heaps of warnings from <wait.h>
re-defining WIF*s defined in "wait.h".
* defs.h: Move _initialize_printcmd, _initialize_stack,
_initialize_blockframe out of here and in to their respective .c files.
* blockframe.c: Move _initialize_blockframe prototype to here.
* printcmd.c: Move _initialize_printcmd prototype to here.
* stack.c: Move _initialize_stack prototype to here.
* source.c, symtab.h: Move _initialize_source prototype to the .c file.
* values.c, value.h: Move _initialize_values prototype to the .c file.
* gdbthread.h, thread.c: Move _initialize_thread prototype to the .c
file.
* breakpoint.c, breakpoint.h: Move _initialize_breakpoint prototype
to the .c file.
* abug-rom.c alpha-nat.c alpha-tdep.c annotate.c ax-gdb.c bcache.c:
Standardize comments for the prototype section of these files.
* configure.in: Look in libc for wctype before looking for it in libc.
The last one is to fix the GNU ld (~2.9.1) + Solaris 2.6 interaction problem
where an empty stub library (libw) causes a core dump when we call vasprintf
(e.g. `info br') in the final linked gdb.
version didn't work for sol2.6; pushed it to autoconf.
* configure.in (gdb_cv_proc_service_is_old): new test.
* acconfig.h (PROC_SERVICE_IS_OLD): new define.
* configure, config.in: regenerate.
* blockframe.c (find_pc_sect_partial_function): Add braces to avoid
possible nested-if confusion.
* breakpoint.c (breakpoint_here_p): Ditto.
(breakpoint_inserted_here_p): Ditto.
(breakpoint_thread_match): Ditto.
* gnu-regex.c: Define _REGEX_RE_COMP only if it isn't already defined.
* gnu-regex.h: Define _REGEX_RE_COMP to pick up old compatability
prototypes.
* symtab.h: Add prototype for _initialize_source.
* value.h: Add prototype for _initialize_value.
* defs.h: Include sys/types.h or stddef.h to get size_t.
(make_cleanup): Add make_cleanup_func typedef and switch to using
a prototype for this function.
(mfree): Add prototypes for mmalloc, mrealloc, mfree if we aren't
using mmalloc.
* ax-gdb.c breakpoint.c coffread.c corelow.c dbxread.c dwarf2read.c
dwarfread.c elfread.c eval.c exec.c gdbtk-cmds.c gdbtk.c infcmd.c
infrun.c mipsread.c nlmread.c os9kread.c parse.c printcmd.c symfile.c
symmisc.c symtab.c thread.c top.c tracepoint.c typeprint.c valops.c:
Cast parameters passed to make_cleanup to use the new
make_cleanup_func typedef.
More warning cleanups. There are still a bunch of places where the first
argument to make_cleanup is not cast to (make_cleanup_func); these are
either due to the function fitting the make_cleanup_func specification
already (e.g. free()) or they are in files that weren't compiled when
I did my make on a Linux native system. Bwahahaha. You can see them
like this:
grep make_cleanup\ * | grep -v make_cleanup_func
I'll surely go back and clean up the remaining suspicious calls in
GDB one of these days. :-)
* configure.in: Check for sys/debugreg.h, asm/debugreg.h.
* i386v-nat.c: Include asm/debugreg.h, sys/debugreg.h if it is not
present.
This is to work around a conflict where the Linux 2.1.x kernel and glibc
2.0.x are not in sync; including <sys/debugreg.h> will result in an error.
With luck, these losers will get their act together and we can trash
this hack in the near future.
address range of a compilation unit without children.
* mdebugread.c (parse_partial_symbols): Fix handling of stabs
continuations, use xmalloc and xrealloc.
There should be sufficient information/hooks now to eliminate
this hack.
* exec.c (file_command): Add a new hook here to inform ui's
when the exec file has changed. Adding it here allows the
ui to be informed after symbol reading.
* gdbcore.h: Add declaration of file_changed_hook.
* stabsread.c (rs6000_builtin_type): Create a complex float instead
of an error.
(read_sun_floating_type): Similarly.
(read_range_type): Create a complex float if self_subrange is
true.
* gdbtk-cmds.c (gdb_set_bp_addr): New command. Sets a
breakpoint at an address. Use this instead of gdb_cmd "break"
because the syntax of the break command is broken and doesn't
allow you to create a thread-specific BP at an address. Also
this is faster.
* gdbtk-cmds.c (gdb_set_bp): Add an optional thread number.
(gdb_find_bp_at_line): New function. Returns a list of bpnums
at the specified line number.
(gdb_find_bp_at_addr): New function. Returns a list of bpnums
at an address..
exec_file changes.
(gdbtk_add_hooks): Define exec_file_display_hook (to gdbtk_exec_file_changed)
* gdbtk-cmds.c (gdb_stop): target_stop is ALWAYS defined, so
compare against something a little more meaningful (target_ignore).
(remote_interrupt_twice): Remove. remote_stop now handles it.
(remote_stop): New function which handles interrupting the
remote target so that CLUI and GUI use the same core functions
to achieve the same goal.
(remote_wait): Change to handle remote_stop properly.
[interrupted_already]: New static global to help remote_stop.
[remote_ops, extended_remote_ops]: Add remote_stop for to_stop member.
* target.c: Rename static function "ignore" to "target_ignore" and
export it so that gdb can determin if some target vector member is
actually not defined. Replace all occurances of ignore.
* target.h: Export target_ignore.
Thu Oct 1 15:39:27 EDT 1998 Frank Ch. Eigler <fche@cygnus.com>
* breakpoint.c (bpstat_stop_status): Do not consider an
untripped watchpoint as a "hit".