Age | Commit message (Collapse) | Author | Files | Lines |
|
* infcmd.c (attach_command): Call async_enable_stdin
if exception is thrown.
|
|
* gdb.base/hashline3.exp: Likewise.
|
|
* gdbarch.h: Regenerate.
|
|
fetch libraries and insert breakpoints after connecting.
* infcmd.c (post_create_inferior): If the solist is shared between
inferiors, no need to refetch it on every new inferior.
(detach_command): If the shared library list is shared between
inferiors, then don't clear it on every inferior detach.
* gdbarch.sh (has_global_solist): New.
* i386-dicos-tdep.c (i386_dicos_init_abi): Set
gdbarch_has_global_solist.
* target.c (target_pre_inferior): If the shared library list is
shared between inferiors, then don't clear it here, neither
invalidate the memory regions or clear the target description.
(target_detach): If the shared library list is shared between
inferiors, then don't remove breakpoints from the target here.
(target_disconnect): Comment.
* solib.c (update_solib_list): Check for null_ptid.
* breakpoint.c (insert_breakpoints, update_global_location_list):
If the shared library list is shared between inferiors, insert
breakpoints even if there's no execution.
(breakpoint_init_inferior): If the shared library list is shared
between inferiors, don't delete breakpoints or mark them
uninserted here.
* gdbarch.c, gdbarch.h: Regenerate.
|
|
|
|
|
|
|
|
|
|
declaration.
|
|
* infrun.c (write_inferior_status_register): Delete.
|
|
|
|
* value.c (coerce_array): Use check_typedef.
gdb/testsuite
* gdb.base/pointers.exp: Add test.
* gdb.base/pointers.c (k, S): New typedefs.
(instance): New global.
|
|
* reggroups.c (maintenance_print_reggroups): Make a cleanup.
* regcache.c (regcache_print): Make a cleanup.
* maint.c (maintenance_print_architecture): Make a cleanup.
* dummy-frame.c (maintenance_print_dummy_frames): Make a cleanup.
|
|
(do_close_cleanup): Don't free 'fd'.
|
|
(psymtab_to_fullname): Likewise.
(get_filename_and_charpos): Make a cleanup.
(forward_search_command): Likewise.
(reverse_search_command): Likewise.
* exec.c (exec_file_attach): Close scratch_chan on failure.
* nto-procfs.c (procfs_open): Make a cleanup.
(procfs_pidlist): Likewise.
(do_closedir_cleanup): New function.
|
|
specially.
testsuite/:
* gdb.base/args.exp: Add tests for newlines.
|
|
of "info breakpoints" tests.
|
|
* breakpoint.c (insert_catchpoint): Remove handling for
bp_catch_exec breakpoint kinds.
(insert_bp_location, update_breakpoints_after_exec, remove_breakpoint)
(ep_is_catchpoint, print_it_typical, bpstat_check_location),
(bpstat_check_location, bpstat_what, print_one_breakpoint_location)
(print_one_breakpoint_location, user_settable_breakpoint)
(breakpoint_address_is_meaningful, adjust_breakpoint_address)
(allocate_bp_location, mention, breakpoint_re_set_one)
(disable_command, enable_command): Likewise.
(create_exec_event_catchpoint): Delete.
(insert_catch_exec, remove_catch_exec, breakpoint_hit_catch_exec)
(print_it_catch_exec, print_one_catch_exec, print_mention_catch_exec):
New functions.
(catch_exec_breakpoint_ops): New static global.
(catch_exec_command_1): Use create_catchpoint instead of
create_exec_event_catchpoint to create the exec catchpoint.
|
|
|
|
|
|
(SUBDIR_CLI_DEPS): Don't mention cli-utils.c.
(HFILES_NO_SRCDIR): Don't mention cli-utils.h.
(cli-utils.o): Remove.
* cli/cli-utils.c: Remove.
* cli/cli-utils.h: Remove.
|
|
* varobj.c (value_get_print_value): Include valprint.h.
(value_get_print_value): Use get_formatted_print_options.
* value.h (struct value_print_options): Declare.
(value_print, val_print, common_val_print, val_print_string):
Update.
* value.c: Include valprint.h.
(show_values): Use get_user_print_options.
(show_convenience): Likewise.
* valprint.h (prettyprint_arrays, prettyprint_structs): Don't
declare.
(struct value_print_options): New type.
(vtblprint, unionprint, addressprint, objectprint, print_max,
inspect_it, repeat_count_threshold, output_format,
stop_print_at_null): Don't declare.
(user_print_options, get_user_print_options,
get_raw_print_options, get_formatted_print_options): Declare.
(print_array_indexes_p): Don't declare.
(maybe_print_array_index, val_print_array_elements): Update.
* valprint.c (print_max): Remove.
(user_print_options): New global.
(get_user_print_options, get_raw_print_options,
get_formatted_print_options): New functions.
(print_array_indexes, repeat_count_threshold, stop_print_at_null,
prettyprint_structs, prettyprint_arrays, unionprint,
addressprint): Remove.
(val_print): Remove format, deref_ref, pretty arguments; add
options. Update.
(common_val_print): Likewise.
(print_array_indexes_p): Remove.
(maybe_print_array_index): Remove format, pretty arguments; add
options. Update.
(val_print_array_elements): Remove format, deref_ref, pretty
arguments; add options. Update.
(val_print_string): Add options argument. Update.
(_initialize_valprint): Use user_print_options.
(output_format): Remove.
(set_output_radix_1): Use user_print_options.
* typeprint.c: Include valprint.h.
(objectprint): Don't declare.
(whatis_exp): Use get_user_print_options.
* tui/tui-regs.c: Include valprint.h.
(tui_register_format): Use get_formatted_print_options.
* tracepoint.c: Include valprint.h.
(addressprint): Don't declare.
(trace_mention): Use get_user_print_options.
(tracepoints_info): Likewise.
* stack.c (print_frame_args): Use get_raw_print_options.
(print_frame_info): Use get_user_print_options.
(print_frame): Likewise.
* sh64-tdep.c: Include valprint.h
(sh64_do_register): Use get_formatted_print_options.
* scm-valprint.c (scm_inferior_print): Remove format, deref_ref,
pretty arguments; add options.
(scm_scmlist_print): Likewise. Update.
(scm_scmval_print): Likewise.
(scm_val_print): Likewise.
(scm_value_print): Remove format, pretty arguments; add options.
Update.
* scm-lang.h (scm_value_print, scm_val_print, scm_scmval_print):
Update.
* scm-lang.c (scm_printstr): Add options argument.
* python/python-value.c: Include valprint.h.
(valpy_str): Use get_user_print_options.
* printcmd.c: Include valprint.h.
(addressprint): Don't declare.
(inspect_it): Remove.
(print_formatted): Remove format option; add options. Update.
(print_scalar_formatted): Likewise.
(print_address_demangle): Use get_user_print_options.
(do_examine): Use get_formatted_print_options.
(print_command_1): Likewise.
(output_command): Use get_formatted_print_options.
(do_one_display): Likewise.
(print_variable_value): Use get_user_print_options.
* p-valprint.c (pascal_val_print): Remove format, deref_ref,
pretty arguments; add options. Update.
(pascal_value_print): Remove format, pretty arguments; add
options. Update.
(vtblprint, objectprint): Don't declare.
(pascal_static_field_print): Remove.
(pascal_object_print_value_fields): Remove format, pretty
arguments; add options. Update.
(pascal_object_print_static_field): Likewise.
(_initialize_pascal_valprint): Use user_print_options. Update.
* p-lang.h (pascal_val_print, pascal_value_print,
pascal_printstr, pascal_object_print_value_fields): Update.
(vtblprint, static_field_print): Don't declare.
* p-lang.c (pascal_printstr): Add options argument. Update.
* objc-lang.c (objc_printstr): Add options argument. Update.
* mt-tdep.c: Include valprint.h.
(mt_registers_info): Use get_raw_print_options.
* mips-tdep.c: Include valprint.h.
(mips_print_fp_register): Use get_formatted_print_options.
(mips_print_register): Likewise.
* mi/mi-main.c: Include valprint.h.
(get_register): Use get_user_print_options.
(mi_cmd_data_evaluate_expression): Likewise.
(mi_cmd_data_read_memory): Use get_formatted_print_options.
* mi/mi-cmd-stack.c: Include valprint.h.
(list_args_or_locals): Use get_raw_print_options.
* m2-valprint.c (print_function_pointer_address): Add addressprint
argument.
(m2_print_long_set): Remove format, pretty arguments.
(m2_print_unbounded_array): Remove format, deref_ref, pretty
arguments; add options. Update.
(print_unpacked_pointer): Remove format argument; add options.
Now static. Update.
(print_variable_at_address): Remove format, deref_ref, pretty
arguments; add options. Update.
(m2_print_array_contents): Likewise.
(m2_val_print): Likewise.
* m2-lang.h (m2_val_print): Update.
* m2-lang.c (m2_printstr): Add options argument. Update.
* language.h (struct value_print_options): Declare.
(struct language_defn) <la_printstr>: Add options argument.
<la_val_print>: Remove format, deref_ref, pretty argument; add
options.
<la_value_print>: Remove format, pretty arguments; add options.
<la_print_array_index>: Likewise.
(LA_VAL_PRINT, LA_VALUE_PRINT, LA_PRINT_STRING,
LA_PRINT_ARRAY_INDEX): Update.
(default_print_array_index): Update.
* language.c (default_print_array_index): Remove format, pretty
arguments; add options. Update.
(unk_lang_printstr): Add options argument.
(unk_lang_val_print): Remove format, deref_ref, pretty arguments;
add options.
(unk_lang_value_print): Remove format, pretty arguments; add
options.
* jv-valprint.c (java_value_print): Remove format, pretty
arguments; add options. Update.
(java_print_value_fields): Likewise.
(java_val_print): Remove format, deref_ref, pretty arguments; add
options. Update.
* jv-lang.h (java_val_print, java_value_print): Declare.
* infcmd.c: Include valprint.h.
(print_return_value): Use get_raw_print_options.
(default_print_registers_info): Use get_user_print_options,
get_formatted_print_options.
(registers_info): Use get_formatted_print_options.
* gdbtypes.h (struct value_print_options): Declare.
(print_scalar_formatted): Update.
* f-valprint.c (f77_print_array_1): Remove format, deref_ref,
pretty arguments; add options. Update.
(f77_print_array): Likewise.
(f_val_print): Likewise.
* f-lang.h (f_val_print): Update.
* f-lang.c (f_printstr): Add options argument. Update.
(c_value_print): Update declaration.
* expprint.c: Include valprint.h.
(print_subexp_standard): Use get_raw_print_options,
get_user_print_options.
* eval.c: Include valprint.h.
(objectprint): Don't declare.
(evaluate_subexp_standard): Use get_user_print_options.
* cp-valprint.c (vtblprint, objectprint, static_field_print):
Remove.
(cp_print_value_fields): Remove format, pretty arguments; add
options. Update.
(cp_print_value): Likewise.
(cp_print_static_field): Likewise.
(_initialize_cp_valprint): Use user_print_options. Update.
* c-valprint.c (print_function_pointer_address): Add addressprint
argument.
(c_val_print): Remove format, deref_ref, pretty arguments; add
options. Update.
(c_value_print): Add options argument. Update.
* c-lang.h (c_val_print, c_value_print, c_printstr): Update.
(vtblprint, static_field_print): Don't declare.
(cp_print_value_fields): Update.
* c-lang.c (c_printstr): Add options argument. Update.
* breakpoint.c: Include valprint.h.
(addressprint): Don't declare.
(watchpoint_value_print): Use get_user_print_options.
(print_one_breakpoint_location): Likewise.
(breakpoint_1, print_it_catch_fork, print_it_catch_vfork, mention,
print_exception_catchpoint): Likewise.
* auxv.c (fprint_target_auxv): Don't declare addressprint. Use
get_user_print_options.
* ada-valprint.c (struct ada_val_print_args): Remove format,
deref_ref, and pretty; add options.
(print_optional_low_bound): Add options argument.
(val_print_packed_array_elements): Remove format and pretty
arguments; add options. Update.
(printstr): Add options argument. Update.
(ada_printstr): Likewise.
(ada_val_print): Remove format, deref_ref, pretty arguments; add
options argument. Update.
(ada_val_print_stub): Update.
(ada_val_print_array): Remove format, deref_ref, pretty arguments;
add options. Update.
(ada_val_print_1): Likewise.
(print_variant_part): Likewise.
(ada_value_print): Remove format, pretty arguments; add options.
Update.
(print_record): Likewise.
(print_field_values): Likewise.
* ada-lang.h (ada_val_print, ada_value_print, ada_printstr):
Update.
* ada-lang.c (ada_print_array_index): Add options argument; remove
format and pretty arguments.
(print_one_exception): Use get_user_print_options.
gdb/testsuite
* gdb.base/exprs.exp (test_expr): Add enum formatting tests.
|
|
(script_from_file): Use make_cleanup_fclose.
* xml-tdesc.c (do_cleanup_fclose): Remove.
(fetch_xml_from_file): Use make_cleanup_fclose.
* tracepoint.c (tracepoint_save_command): Use
make_cleanup_fclose. Always free pathname.
* source.c (print_source_lines_base): Use make_cleanup_fclose.
* remote.c (fclose_cleanup): Remove.
(remote_file_put): Use make_cleanup_fclose.
(remote_file_get): Likewise.
* linux-nat.c (linux_nat_find_memory_regions): Use
make_cleanup_fclose.
(linux_nat_info_proc_cmd): Likewise.
(linux_proc_pending_signals): Likewise.
* fbsd-nat.c (fbsd_find_memory_regions): Use make_cleanup_fclose.
Free file name.
* cli/cli-dump.c (do_fclose_cleanup): Remove.
(make_cleanup_fclose): Remove.
* defs.h (make_cleanup_fclose): Declare.
* utils.c (do_fclose_cleanup): New function.
(make_cleanup_fclose): Likewise.
|
|
|
|
execution, don't clear the thread list.
|
|
(parse_escape): Rename to ...
(cp_parse_escape): ... this.
(yylex): Update.
(xfree) [TEST_CPNAMES]: New.
|
|
2.13 and configure.in.
|
|
field.
(target_supports_multi_process): New define.
* target.c (update_current_target): Inherit and de_fault
to_supports_multi_process.
* infcmd.c (attach_command): Allow attaching to multiple processes
if the target supports it.
(detach_command): If the target claims there is still execution,
don't clear the thread list.
* remote.c (remote_supports_multi_process): New.
(init_remote_ops): Register remote_supports_multi_process.
|
|
|
|
* Makefile.in (INSTALLED_LIBS, CLIBS): Remove reference to
$(TM_CLIBS).
(CDEPS): Remove reference to $(TM_CDEPS).
gdb/doc/
* gdbint.texinfo (Adding a New Target): Don't mention TDEPFILES,
.mt files, TM_CLIBS or TM_CDEPS.
(x86 Watchpoints): Don't mention TDEPFILES.
|
|
* infrun.c (handle_inferior_event): Handle dynamic symbol
resolution in reverse.
|
|
|
|
|
|
|
|
|
|
xmalloc.
* p-exp.y (pop_current_type): Use free instead of xfree.
|
|
|
|
after getting all the pending execs. On TARGET_WAITKIND_IGNORE,
keep waiting, don't resume. On all other cases but
TARGET_WAITKIND_SIGNALLED and TARGET_WAITKIND_EXITED, switch to
the event ptid.
|
|
gdb/doc
* gdb.texinfo (Remote Protocol): Add new nodes to menu.
(Overview): Mention notifications and non-stop mode behavior.
(Packets): Update documentation of ?, vAttach, vCont, and vRun
with non-stop mode behavior. Add vStopped description.
(Stop Reply Packets): Update list of packets that return
stop replies. Mention non-stop behavior.
(General Query Packets): Document QNonStop packet and associated
qSupported query response.
(Interrupts): Clarify multi-threaded behavior. Mention non-stop
behavior.
(Notification Packets): New section.
(Remote Non-Stop): New section.
(File-I/O Overview): Mention non-stop behavior.
|
|
* remote.c (pending_stop_reply): New.
(struct remote_state) <non_stop_aware, support_vCont_t>: New
fields.
(remote_async_inferior_event_token)
(remote_async_get_pending_events_token): New.
(notice_new_inferiors): New, abstracted out from record_currthread.
(record_currthread): Call it.
(remote_threads_info): Default threads to running in non-stop
mode. In non-stop mode, only qfThreadInfo is supported.
(remote_close): Discard all pending stop_replies. Close the event
sources.
(set_stop_requested_callback): New.
(remote_start_remote): Implement non-stop mode startup. In
all-stop, don't clear the thread list here.
(remote_non_stop_feature): New.
(remote_protocol_features): Add a "QNonStop" feature.
(remote_open_1): Clear cached_wait_status and non_stop_aware.
Clear the thread list here.
(remote_detach_1): Discard pending stop replies of the process we
detached from.
(extended_remote_attach_1): Implement non-stop mode.
(remote_vcont_probe): Recognize `vCont;t'.
(remote_vcont_resume): Implement non-stop mode.
(remote_resume): Don't set waiting_for_stop_reply in non-stop
mode.
(remote_stop_ns): New.
(remote_stop): Rename to ...
(remote_stop_as): ... this. If we have a cached wait status,
don't bother interrupting the remote.
(remote_stop): Reimplement as wrapper around remote_stop_as and
remote_stop_ns.
(interrupt_query): Don't query in async mode.
(struct cached_reg, cahed_reg_t): New.
(struct stop_reply): New.
(stop_reply_queue): New.
(stop_reply_xmalloc, stop_reply_xfree)
(discard_pending_stop_replies, do_stop_reply_xfree)
(queued_stop_reply, push_stop_reply, peek_stop_reply)
(remote_parse_stop_reply, remote_get_pending_stop_replies)
(process_stop_reply): New.
(remote_wait_ns): New.
(remote_wait_as): Use remote_parse_stop_reply. Invalidate the
notion of current general thread is a process exit was reported.
(remote_wait): Call remote_wait_ns in non-stop mode.
(handle_notification): New.
(putpkt_binary): Handle notifications. Don't care for
waiting_for_stop_reply in non-stop mode.
(getpkt_sane): Rename to ...
(getpkt_or_notif_sane_1): ... this. Add `expecting_notif'
argument. Handle it. Handle notifications.
(getpkt_sane): Reimplement as wrapper around getpkt_or_notif_sane_1.
(getpkt_or_notif_sane): New.
(select_new_thread_callback): Check for exited state instead of
comparing the ptid against minus_one_ptid.
(extended_remote_create_inferior_1): Query the remote about the
current thread.
(remote_supports_non_stop): New.
(init_remote_ops): Register it.
(remote_async_inferior_event_handler): New.
(remote_async_get_pending_events_handler): New.
* infcmd.c (proceed_thread_callback): Comment.
(proceed_after_attach_callback, proceed_after_attach): New.
(attach_command_post_wait): In background attach, resume all
threads, but only if they are unsignalled, and not explicitly
stopped. In foreground attach, in non-stop mode, make sure to
stop all threads of the just attached to process.
(attach_command): In non-stop mode: If doing a background attach,
stop at least one thread. If a foreground attach, stop all
threads.
|
|
(async_event_handler): Forward declare.
(async_event_handler_func): New typedef.
(create_async_event_handler, delete_async_event_handler)
(mark_async_event_handler): Declare.
* event-loop.c (event_data): New.
(event_handler_func): Take an event_data instead of an integer.
(struct gdb_event): Replace the integer file descriptor by a
generic event_data.
(async_event_handler): New.
(async_handler_ready): Delete.
(async_event_handler_list): New.
(create_event): New.
(create_file_event): Use it.
(process_event): Adjust.
(gdb_do_one_event): Poll from the event sources in round-robin
fashion across calls. Be sure to consult all sources before
blocking.
(handle_file_event): Take an event_data instead of an integer.
Adjust.
(gdb_wait_for_event): Add `block' argument. Handle it.
(mark_async_signal_handler): Remove unneeded cast.
(invoke_async_signal_handler): Rename to ...
(invoke_async_signal_handlres): ... this. Return true if any was
handled.
(check_async_ready): Delete
(create_async_event_handler): New.
(mark_async_event_handler): New.
(struct async_event_handler_data): New.
(invoke_async_event_handler): New.
(check_async_event_handlers): New.
(delete_async_event_handler): New.
(handle_timer_event): Adjust.
|
|
gdb_start_cmd.
Use runto_main before any test that requires execution.
|
|
is NULL. Simplify obs == NULL case.
|
|
Pedro Alves <pedro@codesourcery.com>
* infrun.c (can_use_displaced_stepping): Change type to
const char pointer.
(can_use_displaced_stepping_auto): New string.
(can_use_displaced_stepping_on): New string.
(can_use_displaced_stepping_off): New string.
(can_use_displaced_stepping_enum): New array.
(show_can_use_displaced_stepping): In auto mode, also show
the current effect of the option.
(use_displaced_stepping): Return non-zero if displaced
stepping is auto, and can be used with GDBARCH, and in
non-stop mode. Return non-zero if displaced stepping is on,
and can be used with GDBARCH. Return zero otherwise.
(_initialize_infrun): Make the "set displaced-stepping"
command an enum command. Change its class to class_run.
Place it in the top level set list. Extend help to describe
the auto mode.
2008-10-24 Hui Zhu <teawater@gmail.com>
Pedro Alves <pedro@codesourcery.com>
* gdb.texinfo (displaced-stepping): Describe the auto mode
setting, and say it's the default. This is now a mainstream
setting instead of a maintenance setting.
|
|
|
|
2008-10-23 Pedro Alves <pedro@codesourcery.com>
* defs.h: Mention ptid_is_pid.
* inferior.h (ptid_is_pid): Declare.
* gdbthread.h (struct thread_info) <stop_requested>: New field.
(set_stop_requested): Declare.
* infcmd.c (interrupt_target_1): Call set_stop_requested.
* infrun.c (clear_proceed_status): Clear stop_requested.
(infrun_thread_stop_requested_callback,
infrun_thread_stop_requested): New.
(handle_inferior_event): If a TARGET_SIGNAL_TRAP is reported on a
thread that had an explicit stop request, pretend we got a
TARGET_SIGNAL_0. Always stop if the thread had an explicit stop
request.
(print_stop_reason): In the SIGNAL_RECEIVED case, if we're not
outputting to MI, and we got a TARGET_SIGNAL_0, print "# Stopped",
instead of mentioning signal 0.
(ptid_is_pid): New.
* thread.c (set_stop_requested): New.
* linux-nat.c (queued_waitpid): Rename to ...
(queued_waitpid_1): ... this. Add `peek' argument. Handle it.
(queued_waitpid): New, as wrapper to queued_waitpid_1.
(push_waitpid): Push the SIGTRAP to the local event queue, to the
kernel's.
(send_sigint_callback): Delete.
(linux_nat_stop_lwp): New.
(linux_nat_stop): Use it.
gdb/doc/
2008-10-23 Pedro Alves <pedro@codesourcery.com>
* observer.texi (thread_stop_requested): New.
gdb/testsuite/
2008-10-23 Pedro Alves <pedro@codesourcery.com>
* lib/mi-support.exp (mi_expect_interrupt): Expect signal 0
instead of SIGINT.
|
|
* python/python-value (valpy_getitem): Fix heap corruption.
|
|
(procfs_create_inferior): Fetch list of threads.
|
|
(procfs_create_inferior): Make attach_flag per-inferior.
|
|
* python/python-value.c (value_to_value_object): Initialize
owned_by_gdb field.
(valpy_new): Likewise.
|