`enable' and `disable' identifiers, because some platforms define
in their system headers symbols with global scope that go by those
names.
* breakpoint.h (enum enable_state): Rename from `enum enable'.
Also rename all the enum members to have the "bp_" prefix.
(struct breakpoint): Rename the `enable' member to `enable_state'.
(enum bpdisp): Rename all members to have the "disp_" prefix.
* breakpoint.c: All users of `enum enable' and `enum bpdisp'
changed.
(args_for_catchpoint_enable): Rename the `enable' member to
`enable_p'. All users changed.
* tracepoint.h (enum enable): Remove.
(struct tracepoint): The member `enabled' is now `int enabled_p'.
* tracepoint.c: All users of the `enabled' member changed.
* printcmd.c (struct display): The `status' member is now an int.
* memattr.h (struct mem_region): Rename the `status' member to
`enabled_p'.
(enum enable): Remove.
* memattr.c: Change all users of the `status' member of struct
mem_region to use `enabled_p' instead.
* infcmd.c (run_stack_dummy): Use disp_del instead of del.
* go32-nat.c: Remove the kludgey work-around for conflicts between
<dos.h> and "breakpoint.h".
* tui/tuiSourceWin.c: Use disp_del instead of del.
* tui/tuiSource.c: Use disp_del instead of del.
* tui/tuiDisassem.c: Use disp_del instead of del.
* top.c (command_loop): Remove tui insert_mode hacks; don't call
tuiCleanUp because this must be made with atexit by tui.
* symfile.c (symbol_file_command): Remove call to TUIDO
* stack.c (show_and_print_stack_frame_stub): Remove tui check;
not necessary when using the selected frame hooks.
(print_stack_frame_stub): Likewise.
(print_frame_info_base): Likewise.
(print_frame_info): Likewise.
(up_silently_command): Likewise.
(down_silently_command): Likewise.
(show_stack_frame): Likewise for TUIDO.
(select_frame): Likewise.
(select_and_print_frame): Likewise.
(stack_publish_stopped_with_no_frame): Remove.
(select_and_maybe_print_frame): Remove.
* main.c (captured_main): Remove tui_fileopen and tuiInit; tui
must use the initialize ui hook.
* infrun.c (normal_stop): Remove call to TUIDO; tui must use the
selected frame hooks.
* event-top.c (command_handler): Remove tui insert_mode hack.
* defs.h: Remove TUIDO; Only include tui.h.
* breakpoint.c (mention): Remove calls to TUIDO.
(delete_breakpoint): Remove tui hacks; tui must install
the breakpoint hooks.
* infrun.c (handle_inferior_event): Replace prev_pc test in all
calls to bpstat_stop_status (removed in 1999-09-24). This test
helps distinguish stepping over a breakpoint trap from stepping
thru a jump to the instruction after a breakpoint trap.
(handle_inferior_event): Don't bother writing the PC if
DECR_PC_AFTER_BREAK is zero (optimization).
* breakpoint.c (bpstat_stop_status): Add comment explaining the
purpose and usage of the "not_a_breakpoint" argument in computing
the breakpoint address.
(line_completion_function): If we are completing on locations,
back up the start of word pointer past all characters which can
appear in a location spec.
(location_completer): New function.
* completer.h: Add prototype for location_completer.
* symtab.c (make_source_files_completion_list)
(add_filename_to_list, not_interesting_fname): New functions.
(filename_seen): New function, body extracted from
output_source_filename.
(output_source_filename): Call filename_seen to check if the file
was already printed.
(make_symbol_completion_list): If TEXT includes a
double-quoted string, return an empty list, not NULL.
(make_file_symbol_completion_list): New function, similar to
make_symbol_completion_list but with an additional argument
SRCFILE.
* symtab.h (make_file_symbol_completion_list)
(make_source_files_completion_list): Add prototypes.
* breakpoint.c (_initialize_breakpoint): Make location_completer
be the completion function for all commands which set breakpoints
and watchpoints.
(top-level): #include "completer.h".
* tracepoint.c (_initialize_tracepoint): Make location_completer
be the completion function for the "trace" command.
(top-level): #include "completer.h".
* printcmd.c (_initialize_printcmd): Make location_completer be
the completion function for the "print", "inspect", "call", and
"disassemble" commands.
(top-level): #include "completer.h".
* infcmd.c (_initialize_infcmd): Make location_completer be the
completion function for the "go", "jump", and "until" commands.
(top-level): #include "completer.h".
* breakpoint.c (delete_breakpoint): Pass mark_inserted to
remove_breakpoint, so that the subsequent test for
bpt->inserted will succeed, and duplicates will be fixed up.
* thread.c (delete_step_resume_breakpoint): New function.
Maintain internal consistency of the thread list while deleting
a step_resume_breakpoint.
* gdbthread.h (delete_step_resume_breakpoint): Export.
* breakpoint.c (bpstat_find_step_resume_breakpoint):
Make thread-aware: don't return a step_resume_breakpoint
for the wrong thread.
* infrun.c (wait_for_inferior): Call delete_step_resume_breakpoint
instead of delete_breakpoint_current_contents.
(fetch_inferior_event): Ditto.
(handle_inferior_event): Call delete_step_resume_breakpoint
instead of delete_breakpoint.
its address, to decide whether it's a watchpoint or not. Zero
is a valid code address.
(update_breakpoints_after_exec): Admonishing comments.
* breakpoint.h (struct breakpoint): Doc fixes.
* linespec.h: New file. Declarations for linespec.c.
* linespec.c, alpha-tdep.c, breakpoint.c, parse.c, source.c,
symtab.c, tracepoint.c: Include the above.
* completer.c: New file. Line completion stuff for GDB.
(get_gdb_completer_word_break_characters,
get_gdb_completer_quote_characters): New functions. Accessors for
useful completer internal data.
(filename_completer, line_completion_function, skip_quoted): Moved
here from top.c.
* completer.h: New file. Declarations for the above.
* linespec.c (decode_line_1): Use
get_gdb_completer_word_break_characters and
get_gdb_completer_quote_characters.
* top.c: Include completer.h.
(filename_completer, line_completion_function, skip_quoted):
Moved to completer.c.
* corefile.c, exec.c, source.c, symfile.c, linespec.c: Include
completer.h.
* Makefile.in (SFILES): Add completer.c.
(COMMON_OBS): Add completer.o.
(completer.o): New target.
(linespec.o, alpha-tdep.o, breakpoint.o, parse.o, source.o,
symtab.o, tracepoint.o): Add linespec.h to dependencies list.
(corefile.o, exec.o, source.o, symfile.o, linespec.o): Add completer.h
to dependencies list.
* valops.c (value_cast): Indentation fix-up.
* acconfig.h (HAVE_PRGREGSET32_T, HAVE_PRFPREGSET32_T,
HAVE_STRUCT_LINK_MAP32): New configure macros.
* config.in: Ditto.
* configure.in: Test for the above new macros.
* breakpoint.c: Update copyright date.
* core-sol2.c: Include v9/sys/privregs.h directly to
work around a bug in Sun's Solaris 8 header files.
(fetch_core_registers): Use the above new configure macros to
handle cross-debugging of 32-bit core files on a 64-bit host.
* sol-thread.c (ps_pdmodel) New function.
(rw_common): For debugging of 32-bit apps on a 64-bit host,
truncate addresses to 32 bits.
* solib.c (solib_extract_address): Functionize. Make 32/64 aware.
(LM_ADDR, LM_NEXT, LM_NAME): Ditto.
(IGNORE_FIRST_LINK_MAP): Ditto.
(first_link_map_member): Make 32/64 aware.
(open_symbol_file_object): Ditto.
(current_sos): Ditto.
* defs.h (struct continuation_arg): make 'data' a union, to avoid
casting problems when int and pointer are not the same size.
* event-top.c (command_handler): use data as a union.
(command_line_handler_continuation): ditto.
* infcmd.c (step_1_continuation): use data as a union. Re-indent.
(step_once): ditto. (finish_command_continuation): ditto.
(finish_command): ditto.
* breakpoint.c (until_break_command): use data as a union.
(until_break_command_continuation): ditto.
* utils.c (add_intermediate_continuation): fix typo in comment.
breakpoint.c, breakpoint.h (remove_hw_watchpoints): New function.
infrun.c (resume): Remove hardware watchpoints before stepping
when CANNOT_STEP_HW_WATCHPOINTS is nonzero.
* breakpoint.c (insert_breakpoints, do_enable_breakpoint):
Reselect the saved frame silently after frame selection for
watchpoint evaluation.
(insert_breakpoints): Add missing space in `Hardware watchpoint
deleted' message. Do not reinsert hardware watchpoint if it is
already marked for deletion at next stop.
* breakpoint.c (insert_breakpoints, remove_breakpoint)
(bpstat_stop_status, can_use_hardware_watchpoint): Don't insert,
remove, or check status of hardware watchpoints for entire structs
and arrays unless the user explicitly asked to watch that struct
or array.
(insert_breakpoints): Try to insert watchpoints for all the values
on the value chain, even if some of them fail to insert.
* values.c (value_primitive_field): Set the offset in struct value
we return when the field is a packed bitfield.
* 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. :-)
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".
(readline_begin_hook, readline_hook, readline_end_hook): Declare.
* breakpoint.c (commands_command): Build message in temporary buffer
and pass that, as well as tty control flag, to read_command_lines.
* top.c (readline_begin_hook, readline_hook, readline_end_hook):
Define here.
(command_loop): Check for non-NULL instream before looping.
(command_line_input): Use readline_hook when appropriate, to get
user input from a GUI window.
(read_next_line): Also build prompt if getting user input from a GUI.
(recurse_read_control_structure): Fix typo in comment.
(read_command_lines): Use passed in prompt and tty flag to decide how
to build message. Use readline_begin_hook when appropriate, to set
up a GUI interaction window. Just return head, whether NULL or not,
after using readline_end_hook to complete GUI interaction.
(define_command, document_command): Build message in a temporary
buffer and pass it to read_command_lines, along with tty flag.
* gdbtk.c (gdbtk_readline_begin, gdbtk_readline, gdbtk_readline_end):
New functions.
(tk_command_loop): Set instream to NULL to enable Tk user interaction.
(gdbtk_init): Set readline_begin_hook, readline_hook,
and readline_end_hook.
* gdbtk.tcl (gdbtk_tcl_readline_begin, gdbtk_tcl_readline,
gdbtk_tcl_readline_end): New functions.
(tclsh): Pack scroll bar on right side of window, not left.
PR 9385
infrun.c, mac-nat.c, procfs.c, remote.c, sol-thread.c, thread.c,
win32-nat.c, config/nm-lynx.h: Rename thread.h to gdbthread.h to
avoid conflict with Solaris /usr/include/thread.h.
that is referenced nowhere else.
(set_breakpoint): Ditto.
(do_enable_breakpoint): Created from enable_once_breakpoint
with a couple of changes.
(enable_breakpoint): Call do_enable_breakpoint with an appropriate
bpdisp enum value to set disposition of breakpoint.
(enable_once_breakpoint): Ditto.
(enable_delete_breakpoint): Ditto.
* breakpoint.h (clear_momentary_breakpoints): Remove prototype.
* symtab.c (find_pc_line): Improve comments.
* gdbtk.c: Fix a couple of misspellings.
* xcoffread.c: Ditto.
* breakpoint.h (enum bpdisp): Add del_at_next_stop.
* breakpoint.c (insert_breakpoints, watchpoint_check,
bpstat_stop_status): Avoid bad references to memory freed via
delete_breakpoint on watchpoints going out of scope.
Do not delete these watchpoints, disable them and change their
disposition to del_at_next_stop instead.
(breakpoint_auto_delete): Delete all breakpoints whose disposition
is del_at_next_stop.
(breakpoint_init_inferior): Use switch to avoid reference to
already deleted breakpoint.
Fixes dangling pointer problems with watchpoints.
storage leaks.
(breakpoint_re_set_one): Fix b->exp, b->val, b->cond storage leaks.
* infcmd.c (run_command), solib.c (locate_base): Check for
target_has_execution in addition to inferior_pid, a core file
from a threaded program is yielding a non-zero inferior_pid.
* sparc-tdep.c (get_saved_register): Handle window registers
in a dummy frame correctly.
* breakpoint.c (breakpoint_re_set_one): Keep temporary
breakpoints bp_until, bp_finish, bp_watchpoint_cope, bp_call_dummy
and bp_step_resume in case breakpoint_re_set_one is called due
to a step over a dlopen call.
* infrun.c (wait_for_inferior): Always remove breakpoints from
inferior in BPSTAT_WHAT_CHECK_SHLIBS case.