X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2FChangeLog;h=854070bd6d398c8d559603d9ef7a063523de7d99;hb=4d062f1ad566bb7f0eaed761db36788a7e981a28;hp=f4055d40d09fe0d46781453e0a9e9830f14b9557;hpb=7a893eb8c1c037df38184beb7d993222a68d7c3d;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f4055d40d0..854070bd6d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,359 @@ +2009-05-18 Pedro Alves + + * linux-nat.h (linux_proc_get_tgid): Declare. + * linux-nat.c (linux_proc_get_tgid): New. + * linux-thread-db.c (struct thread_db_info): New field + `need_stale_parent_threads_check'. + (add_thread_db_info): Set it. + (find_new_threads_callback): Ignore stale fork parent threads. + (thread_db_resume): New. + (init_thread_db_ops): Install thread_db_resume. + +2009-05-18 Pedro Alves + + * fork-child.c (fork_inferior): Only reset the thread list if this + is the first inferior. + (startup_inferior): If the target support multi-process, tell it + to resume only the new process. + * linux-nat.c (num_lwps): Delete global. + (purge_lwp_list): New function. + (num_lwps): New function. + (add_lwp, delete_lwp): Adjust. + (ptid_match): New. + (iterate_over_lwps): Add filter argument. Handle it. + (linux_nat_attach): Remove FIXME note. + (linux_nat_detach): Adjust to iterate over threads of the inferior + we're detaching from. Adjust to num_lwps being a function. Don't + assume the head of the lwp list is the main thread of the process + we're detaching from. Don't destroy the LWP list. + (resume_callback): Add debug output. + (linux_nat_resume): Handle resuming a single inferior. Allow a + wildcard resume in non-stop mode. + (linux_handle_extended_wait): Don't assume inferior_ptid is the + correct inferior of the parent LWP. + (status_callback): Also check lp->waitstatus. + (select_event_lwp): Add new filter parameter. Handle it. + (linux_nat_filter_event): Adjust to num_lwps being a function. + (linux_nat_wait_1): When adding the first lwp of the inferior, use + an is_lwp check instead of checking for the number of lwps. + (linux_nat_wait_1): Handle waiting for a specific tgid. Handle + pending process exit statuses. + (linux_nat_mourn_inferior): Don't destroy all the LWP info. + Instead delete LWPs of the inferior that we're mourning. Don't + unregister from the event loop here. + (linux_nat_pid_to_str): Use `num_lwps'. + (linux_nat_make_corefile_notes): Adjust to walk over lwps of a + single inferior. + (linux_nat_is_async_p): Check if async was masked out. + (linux_multi_process): New global. + (linux_nat_supports_multi_process): New. + (linux_nat_stop_lwp): Remove LWP filtering. It is done by the + caller. + (linux_nat_stop): Adjust to make iterate_over_lwps itself do the + LWP filtering. + (linux_nat_close): New. + (linux_nat_add_target): Register linux_nat_close and + linux_nat_supports_multi_process. + * linux-nat.h (iterate_over_lwps): Add filter argument. + * linux-thread-db.c (thread_db_handle): Delete. + (proc_handle, thread_agent, td_init_p, td_ta_new_p) + (td_ta_map_id2thr_p, td_ta_map_lwp2thr_p, td_ta_thr_iter_p) + (td_ta_event_addr_p, td_ta_set_event_p, td_ta_event_getmsg_p) + (td_thr_validate_p, td_thr_get_info_p, td_thr_event_enable_p) + (td_thr_tls_get_addr_p, td_create_bp_addr, td_death_bp_addr): No + longer globals, moved to... + (struct thread_db_info): ... this new structure. + (thread_db_list): New. + (add_thread_db_info, get_thread_db_info, delete_thread_db_info): + New. + (have_threads_callback): Filter out threads of all inferiors but + the one specified by the ARGS argument. + (have_threads): Add ptid argument specifying the inferior we're + interested in. Handle it. + (struct thread_get_info_inout): New. + (thread_get_info_callback, thread_from_lwp): Adjust to use it. + (thread_db_attach_lwp): Check that inferior of the passed in + thread is using thread-db. Adjust. + (enable_thread_event): Remove thread_agent parameter. Instead, + get it from the per-inferior thread-db info. + (dladdr_to_soname): Move higher up. + (enable_thread_event_reporting): Adjust to use per-inferior + thread-db info. + (try_thread_db_load_1): Replace `handle' parameter by a + thread_db_info parameter. Adjust to use per-inferior thread-db + info. + (try_thread_db_load): Adjust to use per-inferior thread-db info. + (thread_db_load, disable_thread_event_reporting): Ditto. + (check_for_thread_db): Remove conditional reporting of which + libthread_db is in use. + (thread_db_new_objfile): Add comment about inferior_ptid. + (attach_thread): Adjust to use per-inferior thread-db info. + (thread_db_detach): Adjust to use per-inferior thread-db info. + Remove thread event breakpoints of the current inferior. Only + unpush the thread-db target if there are no more processes using + it. + (check_event): Adjust to use per-inferior thread-db info. + (thread_db_wait): Adjust to use per-inferior thread-db info. Only + unpush the thread-db target if there are no more processes using + it. + (thread_db_mourn_inferior): Adjust to use per-inferior thread-db + info. Mark breakpoints of the current inferior out before + deleting them. Only unpush the thread-db target if there are no + more processes using it. + (find_new_threads_callback): Adjust to use per-inferior thread_db + info. + (thread_db_find_new_threads_1): Add new ptid argument. Adjust to + use per-inferior thread-db info. + (thread_db_find_new_threads): Adjust to use per-inferior thread-db + info. + (thread_db_get_thread_local_address): Adjust. + (thread_db_get_ada_task_ptid): Adjust. + * inf-ptrace.c (inf_ptrace_mourn_inferior): Only unpush the target + if there no more processes left to debug. + * thread.c (set_running, set_executing): Handle resuming all + threads of a single inferior. + * mi/mi-interp.c (mi_output_running_pid): New. + (mi_inferior_count): New. + (mi_on_resume): For backwards compatibility, if resuming all + threads of an inferior, and there is only one inferior, output + "all". + +2009-05-18 Ulrich Weigand + + * ada-lang.c (ada_find_any_type): Move check for primitive types ... + (to_fixed_range_type): ... to here. + +2009-05-18 Ulrich Weigand + + * ada-lang.c (desc_data_type): Remove, replace by ... + (desc_data_target_type): ... this. + (thin_data_pntr): Use desc_data_target_type instead of desc_data_type. + (ada_is_array_descriptor_type): Likewise. + (ada_type_of_array): Likewise. + (ada_coerce_to_simple_array_type): Likewise. + (ada_array_element_type): Likewise. + +2009-05-18 Ulrich Weigand + + * ada-valprint.c (ada_val_print_1): Use val_print_string to print + result of ada_vax_float_print_function inferior call. + +2009-05-18 Ulrich Weigand + + * ada-lang.c (ada_coerce_to_simple_array_type): Reimplement to + avoid creating a dummy value. + +2009-05-18 Ulrich Weigand + + * p-valprint.c (pascal_val_print): Use extract_typed_address + to extract reference value. + +2009-05-18 Ulrich Weigand + + * doublest.c (NAN): Remove unused define. + (extract_floating_by_length, deprecated_extract_floating): Remove. + (store_floating_by_length, deprecated_store_floating): Remove. + (extract_typed_floating): Do not call extract_floating_by_length. + (store_typed_floating): Do not call store_floating_by_length. + (convert_typed_floating): Remove redundant assertions. + * doublest.h (deprecated_extract_floating): Remove. + (deprecated_store_floating): Remove. + * sh64-tdep.c (sh64_register_convert_to_raw): Call + extract_typed_floating instead of deprecated_extract_floating. + +2009-05-18 Jon Beniston + + * MAINTAINERS: Add lm32 target. + * Makefile.in: Add lm32 dependencies. + * NEWS: Indicate lm32 is a new target. + * configure.tgt: Add lm32 targets. + * lm32-tdep.c: New file. + +2009-05-18 Pedro Alves + + * corelow.c (core_open): Flush the register cache before doing + anything with registers. + +2009-05-18 Pedro Alves + + * inflow.h (our_process_group): Remove declaration. + (inferior_process_group): Delete global variable declaration. + (inferior_process_group): New function declaration. + * inflow.c: Include observer.h. + (inferior_ttystate, our_ttystate, tflags_inferior, tflags_ours): + Delete. + (struct terminal_info): New struct. + (our_terminal_info): New global. + (inferior_process_group): New function. + (inferior_thisrun_terminal): Extend description comment. + (gdb_has_a_terminal): Adjust to write to our_terminal_info fields + instead of globals. + (terminal_init_inferior_with_pgrp): Adjust to per-inferior + terminal settings. + (terminal_inferior): Ditto. + (terminal_ours_1): Ditto. + (inflow_new_inferior, inflow_inferior_exit): New functions. + (child_terminal_info): Adjust to per-inferior terminal settings. + (osig_set): New global. + (set_sigint_trap): Adjust to per-inferior terminal settings. Set + or clear `osig_set' accordingly. + (clear_sigint_trap): Check `osig_set' to decide wheater to restore + SIGINT handler, instead of checking the current inferior (which + may be none). + (_initialize_inflow): Attach inflow_new_inferior and + inflow_inferior_exit to the "new_inferior" and "inferior_exit" + notifications, respectively. + * inferior.h (struct terminal_info): Forward declare. + (struct inferior): Add `terminal_info' field. + * inferior.c (delete_inferior_1): Notify the inferior_exit + observers before removing the inferior from the lists and deleting + it. + * inf-ptrace.c (inf_ptrace_stop): `inferior_process_group' is now + a function instead of a variable. Adjust. + * procfs.c (procfs_stop): Ditto. + +2009-05-17 Pedro Alves + + * infrun.c (handle_inferior_event): When handling a + TARGET_WAITKIND_FORKED, detach breakpoints from the fork child + immediatelly. + * linux-nat.c (linux_child_follow_fork): Only detach breakpoints + from the child if vforking. + * inf-ptrace.c (inf_ptrace_follow_fork): No need to detach + breakpoints from the child here. + +2009-05-17 Pedro Alves + + * infrun.c (pending_follow): Remove execd_pathname member. + (resume): No longer handle TARGET_WAITKIND_EXECD pending follow. + (handle_inferior_event): When handling a TARGET_WAITKIND_EXECD + event, don't copy `execd_pathname' to pending_follow, use the + event copy instead. Release `execd_pathname' once done with + handling the event. + + * infrun.c (pending_follow): Remove mention of exec events. + +2009-05-17 Hui Zhu + + * i386-tdep.c (i386_process_record): Make it extern. + (i386_gdbarch_init): Don't call set_gdbarch_process_record + here. + * i386-tdep.h (i386_process_record): Declare. + * i386-linux-tdep.c (i386_linux_init_abi): Call + set_gdbarch_process_record. + +2009-05-17 Vladimir Prus + + Always report varobj as changed when in_scope attribute changes. + + * varobj.c (install_new_value): If non-NULL-ness of value + changed, return 1. + +2009-05-15 Paul Pluzhnikov + + * NEWS: Mention set/show libthread-db-search-path. + * gdb_thread_db.h (LIBTHREAD_DB_SEARCH_PATH): New define. + (LIBTHREAD_DB_SO): Moved from linux-thread-db.c + * linux-thread-db.c (libthread_db_search_path): New setting. + (thread_db_handle): New variable (replaces using_thread_db). + (try_thread_db_load_1): New function. + (try_thread_db_load, thread_db_load_search): Likewise. + (dladdr_to_soname): Likewise. + (thread_db_load): Iterate over possibly multiple libthread_db's. + (check_for_thread_db): Attempt to load new libthread_db. + (thread_db_detach, thread_db_wait): Unload libthread_db. + (thread_db_mourn_inferior): Likewise. + (_initialize_thread_db): Add new libthread-db-search-path option. + Defer loading of libthread_db to check_for_thread_db. + * solib.c (libpthread_name_p): New function. + (libpthread_solib_p): Call it. + * solib.h (libpthread_name_p): New prototype. + +2009-05-15 Pierre Muller + + * MAINTAINERS: Update my email address. + +2009-05-14 Paul Pluzhnikov + + * breakpoint.h: Add breakpoint_re_set_objfile prototype. + * breakpoint.c (create_overlay_event_breakpoint): Renamed + from create_overlay_event_breakpoint_1, old + create_overlay_event_breakpoint deleted. + (breakpoint_re_set_objfile): Don't rescan all objfiles + unnecessarily. + (breakpoint_re_set): New function. + * symfile.c (new_symfile_objfile): Call breakpoint_re_set_objfile + instead of breakpoint_re_set. + * objfiles.c (objfile_relocate): Likewise. + +2009-05-14 Joel Brobecker + + * gdbarch.sh: Add comment documenting the target_gdbarch global. + gdbarch.h does NOT need to be regenerated as the corresponding + change has already been made in a previous commit. + +2009-05-14 Pierre Muller + + Remove all i386 debug register low level macros in config nm files. + (I386_DR_LOW_SET_ADDR, I386_DR_LOW_RESET_ADDR): Remove. + (I386_DR_LOW_GET_STATUS, I386_DR_LOW_SET_CONTROL): Remove. + (I386_USE_GENERIC_WATCHPOIINTS): Remove. + + * i386-nat.h: New file (adapted from config/i386/nm-i386.h). + (struct i386_dr_low_type): New type. + (i386_dr_low): New global variable. + * i386-nat.c (TARGET_HAS_DR_LEN_8): Update macro. + (i386_insert_aligned_watchpoint): Replace i386 dr low macros by + i386_dr_low struct variable fields. + (i386_remove_aligned_watchpoint): Likewise. + (i386_stopped_data_address): Likewise. + (i386_stopped_by_hwbp): Likewise. + (show_debug_regs_command_added): New static variable. + (add_show_debug_regs_command): New static function. + (i386_use_watchpoints): Call add_show_debug_regs_command if not done. + (i386_set_debug_register_length): New function. + (_initialize_i386_nat): Delete. + + * amd64-linux-nat.c: Include "i386-nat.h". + (amd64_linux_dr_set_control): Change to static. + (amd64_linux_dr_get_status): Change to static. + (amd64_linux_dr_set_addr,amd64_linux_dr_reset_addr): Likewise. + (_initialize_amd64_linux_nat): Set i386_dr_low variable fields. + + * go32-nat.c: Include "i386-nat.h". + (go32_set_addr): Change to static. + (go32_set_dr7): Change to static. Change arg type to unisgned long. + (go32_get_dr6): Change to static. Change return type to unisnged long. + (init_go32_ops): Set i386_dr_low variable fields. + * i386-linux-nat.c: Include "i386-nat.h". + (i386_linux_dr_set_control, i386_linux_dr_get_status): Change to static. + (i386_linux_dr_set_addr, i386_linux_dr_reset_addr): Idem. + (_initialize_i386_linux_nat): Set i386_dr_low variable fields. + * i386bsd-nat.h: Declare functions used for + i386_dr_low fields in i386fbsd-nat.c. + * i386fbsd-nat.c: Include "i386-nat.h". + (_initialize_i386fbsd_nat): Set i386_dr_low variable fields. + * windows-nat.c: Include "i386-nat.h". + (cygwin_set_dr, cygwin_get_dr6, cygwin_set_dr7): Add prototypes. + Change to static. + (cygwin_get_dr6): Change return type to unisnged long. + (cygwin_set_dr7): Change arg type to unisgned long. + (init_windows_ops): Set i386_dr_low function fields. + + * amd64-windows-nat.c (_initialize_amd64_windows_nat): Call + i386_set_debug_register_length. + * i386-windows-nat.c (_initialize_i386_windows_nat): Likewise. + + * config/i386/nm-cygwin.h: Remove all I386_* macros. + * config/i386/nm-cygwin64.h: Likewise. + * config/i386/nm-fbsd.h: Likewise. + * config/i386/nm-linux.h: Likewise. + * config/i386/nm-i386.h: Remove completely. + * config/i386/nm-go32.h: Remove completely. + * config/i386/nm-linux64.h: Remove completely. + * config/i386/go32.mh (NAT_FILE): Remove entry. + * config/i386/linux64.h (NAT_FILE): Change to config/nm-linux.h. + 2009-05-14 Jon Beniston * MAINTAINERS: Add Jon Beniston to write after approval list. @@ -99,7 +455,7 @@ (lin_thread_get_thread_signals): blocked_mask is global again. Adjust. -2009-05-11 Pierre Muller +2009-05-11 Pierre Muller Unify target macros. @@ -130,7 +486,7 @@ (debug_to_stopped_by_watchpoint): Likewise. -2009-05-10 Pierre Muller +2009-05-10 Pierre Muller * src/gdb/target.h: Remove all tests for already defined macros. All macros defined here should not be set in config @@ -184,7 +540,7 @@ call to ... (add_inferior_silent): ... here. -2009-05-06 Pierre Muller +2009-05-06 Pierre Muller Pedro Alves * procfs.c (procfs_insert_watchpoint, procfs_remove_watchpoint) @@ -471,7 +827,7 @@ * stack.c (_initialize_stack) : Doc fix. -2009-04-24 Pierre Muller +2009-04-24 Pierre Muller ARI change: Use "/* ARI: rule */" pattern. * utils.c: Update ARI patterns. @@ -577,7 +933,7 @@ * configure.ac: Use AC_HELP_STRING. Use upper case for variables in help. -2009-04-21 Pierre Muller +2009-04-21 Pierre Muller ARI fix: remove "%p". * ia64-tdep.c (ia64_frame_this_id): Use host_address_to_string function. @@ -595,7 +951,7 @@ * main.c: Include "source.h". (captured_main): Add substitution rule if RELOC_SRCDIR. -2009-04-21 Pierre Muller +2009-04-21 Pierre Muller * gnu-nat.h (proc_debug): Add missing continuation line in macro. @@ -680,7 +1036,7 @@ configure substitutions. (FLAGS_TO_PASS): Add datarootdir, docdir, and htmldir. -2009-04-17 Pierre Muller +2009-04-17 Pierre Muller ARI fix: Do not use %p, replace by call to host_address_to_string for host pointers.