+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@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.
+ (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 <jon@beniston.com>
+
+ * MAINTAINERS: Add Jon Beniston to write after approval list.
+
+2009-05-13 Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ * objc-lang.c (objc_objfile_data): New variable.
+ (find_methods): Skip objfiles without Obj-C methods.
+ (_initialize_objc_lang): New function.
+
+2009-05-13 Joel Brobecker <brobecker@adacore.com>
+
+ * c-lang.c (print_wchar): Remove unnecessary cast.
+
+2009-05-12 Jim Blandy <jimb@red-bean.com>
+
+ * MAINTAINERS: Remove self as m32c target maintainer.
+
+2009-05-12 Pedro Alves <pedro@codesourcery.com>
+
+ * cli/cli-decode.c (deprecated_add_set_cmd): Delete.
+ * command.h (deprecated_add_set_cmd): Delete declaration.
+ * gnu-nat.c (_initialize_gnu_nat): Replace 'maint gnu-debug' with
+ 'set debug gnu-nat' and 'show debug gnu-nat'.
+ * i386-nat.c (_initialize_i386_nat): Replace 'maint
+ show-debug-registers' with 'maint set show-debug-registers' and
+ 'maint show show-debug-registers'.
+ * mips-linux-nat.c (_initialize_mips_linux_nat): Replace 'maint
+ show-debug-registers' with 'maint set show-debug-registers' and
+ 'maint show show-debug-registers'.
+
2009-05-12 Joel Brobecker <brobecker@adacore.com>
* c-lang.c (print_wchar): Convert w into a gdb_wchar_t before
(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.