* linux-nat.h (linux_proc_get_tgid): Declare.
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 8bff539cd0de988df0503e26500e08103037a3ee..854070bd6d398c8d559603d9ef7a063523de7d99 100644 (file)
+2009-05-18  Pedro Alves  <pedro@codesourcery.com>
+
+       * 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  <pedro@codesourcery.com>
+
+       * 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  <uweigand@de.ibm.com>
+
+       * ada-lang.c (ada_find_any_type): Move check for primitive types ...
+       (to_fixed_range_type): ... to here.
+
+2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * 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  <uweigand@de.ibm.com>
+
+       * 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  <uweigand@de.ibm.com>
+
+       * ada-lang.c (ada_coerce_to_simple_array_type): Reimplement to
+       avoid creating a dummy value.
+
+2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * p-valprint.c (pascal_val_print): Use extract_typed_address
+       to extract reference value.
+
+2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * 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 <jon@beniston.com>
+        
+        * 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  <pedro@codesourcery.com>
+
+       * corelow.c (core_open): Flush the register cache before doing
+       anything with registers.
+
+2009-05-18  Pedro Alves  <pedro@codesourcery.com>
+
+       * 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  <pedro@codesourcery.com>
+
+       * 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  <pedro@codesourcery.com>
+
+       * 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  <teawater@gmail.com>
+
+       * 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  <vladimir@codesourcery.com>
+
+       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  <ppluzhnikov@google.com>
+       
+       * 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  <muller@ics.u-strasbg.fr>
+
+       * MAINTAINERS: Update my email address.
+       
+2009-05-14  Paul Pluzhnikov  <ppluzhnikov@google.com>
+
+       * 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  <brobecker@adacore.com>
 
        * 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  <muller.u-strasbg.fr>
+2009-05-14  Pierre Muller  <muller@ics.u-strasbg.fr>
 
        Remove all i386 debug register low level macros in config nm files.
        (I386_DR_LOW_SET_ADDR, I386_DR_LOW_RESET_ADDR): Remove.
        (lin_thread_get_thread_signals): blocked_mask is global again.
        Adjust.
 
-2009-05-11  Pierre Muller  <muller.u-strasbg.fr>
+2009-05-11  Pierre Muller  <muller@ics.u-strasbg.fr>
 
        Unify target macros.
 
        (debug_to_stopped_by_watchpoint): Likewise.
 
 
-2009-05-10  Pierre Muller  <muller.u-strasbg.fr>
+2009-05-10  Pierre Muller  <muller@ics.u-strasbg.fr>
 
        * src/gdb/target.h: Remove all tests for already defined
        macros. All macros defined here should not be set in config
        call to ...
        (add_inferior_silent): ... here.
 
-2009-05-06  Pierre Muller  <muller.u-strasbg.fr>
+2009-05-06  Pierre Muller  <muller@ics.u-strasbg.fr>
            Pedro Alves  <pedro@codesourcery.com>
 
        * procfs.c (procfs_insert_watchpoint, procfs_remove_watchpoint)
 
        * stack.c (_initialize_stack) <disassemble-next-line>: Doc fix.
 
-2009-04-24  Pierre Muller  <muller.u-strasbg.fr>
+2009-04-24  Pierre Muller  <muller@ics.u-strasbg.fr>
 
        ARI change: Use "/* ARI: rule */" pattern.
        * utils.c: Update ARI patterns.
        * configure.ac: Use AC_HELP_STRING.  Use upper case for variables
        in help.
 
-2009-04-21  Pierre Muller  <muller.u-strasbg.fr>
+2009-04-21  Pierre Muller  <muller@ics.u-strasbg.fr>
 
        ARI fix: remove "%p".
        * ia64-tdep.c (ia64_frame_this_id): Use host_address_to_string function.
        * main.c: Include "source.h".
        (captured_main): Add substitution rule if RELOC_SRCDIR.
 
-2009-04-21  Pierre Muller  <muller.u-strasbg.fr>
+2009-04-21  Pierre Muller  <muller@ics.u-strasbg.fr>
 
        * gnu-nat.h (proc_debug): Add missing continuation line in macro.
 
        configure substitutions.
        (FLAGS_TO_PASS): Add datarootdir, docdir, and htmldir.
 
-2009-04-17  Pierre Muller  <muller.u-strasbg.fr>
+2009-04-17  Pierre Muller  <muller@ics.u-strasbg.fr>
 
        ARI fix: Do not use %p, replace by call to host_address_to_string
        for host pointers.
This page took 0.027785 seconds and 4 git commands to generate.