+2009-06-07 Pedro Alves <pedro@codesourcery.com>
+
+ * target.h (struct target_ops): Make to_has_all_memory,
+ to_has_memory, to_has_stack, to_has_registers and to_has_execution
+ methods instead of variables.
+ (target_has_all_memory_1, target_has_memory_1, target_has_stack_1)
+ (target_has_registers_1, target_has_execution_1): Declare
+ functions.
+ (target_has_all_memory): Rewrite to call target_has_all_memory_1.
+ (target_has_memory): Rewrite to call target_has_memory_1.
+ (target_has_stack): Rewrite to call target_has_all_stack_1.
+ (target_has_registers): Rewrite to call target_has_registers_1.
+ (target_has_execution): Rewrite to call target_has_execution_1.
+ (default_child_has_all_memory, default_child_has_memory)
+ (default_child_has_stack, default_child_has_registers)
+ (default_child_has_execution): Declare.
+ (target_mark_running, target_mark_exited): Delete declarations.
+ * target.c (default_child_has_all_memory,
+ default_child_has_memory, default_child_has_stack,
+ default_child_has_registers, default_child_has_execution): New.
+ (target_has_all_memory_1, target_has_memory_1, target_has_stack_1,
+ target_has_registers_1, target_has_execution_1): New.
+ (add_target): Default the to_has_all_memory, to_has_all_memory,
+ to_has_memory, to_has_stack, to_has_registers and to_has_execution
+ callbacks to return 0.
+ (update_current_target): Do not inherit to_has_all_memory,
+ to_has_memory, to_has_stack, to_has_registers or to_has_execution.
+ (target_mark_running, target_mark_exited): Delete.
+ (memory_xfer_partial): Adjust.
+ (target_read_memory, target_write_memory, target_search_memory):
+ Dispatch to the the top-most target, not the flattened
+ current_target.
+ (target_info): Adjust.
+ (init_dummy_target): Install return_zero as callback for
+ to_has_all_memory, to_has_memory, to_has_stack, to_has_registers,
+ to_has_execution.
+ (set_maintenance_target_async_permitted): Use have_live_inferiors
+ instead of target_has_execution.
+ * target-memory.c (target_write_memory_blocks): Dispatch memory
+ writes to the the top-most target, not the flattened
+ current_target.
+
+ * breakpoint.c (insert_breakpoints): Don't check for
+ target_has_execution here.
+ (update_global_location_list): Check if there are live inferiors
+ to debug instead of target_has_execution.
+ * infcmd.c (kill_command, detach_command): Check if there are
+ inferiors instead of target_has_execution.
+ * inferior.h (have_live_inferiors): Declare.
+ * inferior.c (have_live_inferiors): New.
+ * infrun.c (normal_stop): Don't check for target_has_execution to
+ finish the thread states.
+ * thread.c (is_thread_state, is_stopped, is_exited, is_running)
+ (any_running, is_executing): Remove checks for
+ target_has_execution.
+ * top.c (kill_or_detach): Don't try to kill core inferiors.
+ (quit_target): Don't check for target_has_execution.
+
+ * corelow.c (core_has_memory, core_has_stack, core_has_registers):
+ New.
+ (init_core_ops): Install core_has_memory, core_has_stack and
+ core_has_registers.
+ * exec.c (exec_has_memory): New.
+ (init_exec_ops): Install exec_has_memory.
+ * remote.c (remote_add_inferior): Don't call target_mark_running.
+ (remote_start_remote): Don't call target_mark_exited or call
+ target_mark_running.
+ (remote_open_1): Use have_inferiors instead of
+ target_has_execution. Don't use target_mark_exited.
+ (init_remote_ops): Install deafult_child_has_all_memory,
+ default_child_has_memory, default_child_has_stack,
+ default_child_has_registers, default_child_has_execution.
+ * bsd-kvm.c (bsd_kvm_return_one): New.
+ (bsd_kvm_add_target): Register bsd_kvm_return_one as
+ to_has_memory, to_has_stack and to_has_registers callbacks.
+ * remote-m32r-sdi.c (m32r_return_one): New.
+ (init_m32r_ops): Register it.
+ * inf-child.c (inf_child_target): Adjust to register
+ default_child_has_all_memory, default_child_has_memory,
+ default_child_has_stack, default_child_has_registers,
+ default_child_has_execution callbacks.
+ * gnu-nat.c (init_gnu_ops): Likewise.
+ * go32-nat.c (init_go32_ops): Likewise.
+ * hpux-thread.c (init_hpux_thread_ops): Likewise.
+ * monitor.c (init_base_monitor_ops): Likewise.
+ * nto-procfs.c (init_procfs_ops): Likewise.
+ * remote-mips.c (_initialize_remote_mips): Likewise.
+ * windows-nat.c (init_windows_ops): Likewise.
+ * remote-sim.c (gdbsim_create_inferior): Don't use
+ target_mark_running or target_mark_exited.
+ (gdbsim_mourn_inferior): Don't call target_mark_exited.
+ (init_gdbsim_ops): Adjust to register
+ default_child_has_all_memory, default_child_has_memory,
+ default_child_has_stack, default_child_has_registers,
+ default_child_has_execution callbacks.
+
+ * linux-nat.c (linux_nat_xfer_partial): If reading memory, and
+ there's no inferior selected, defer to a lower stratum.
+
+2009-06-05 Tom Tromey <tromey@redhat.com>
+
+ * varobj.c (update_dynamic_varobj_children): Wrap error text in
+ _().
+ (install_visualizer): Likewise.
+ (varobj_set_visualizer): Likewise.
+
+2009-06-05 Marc Khouzam <marc.khouzam@ericsson.com>
+
+ * mi/mi-main.c (mi_cmd_exec_continue)
+ (mi_cmd_exec_interrupt): Adjust parsing of thread group
+ ids to current reality, where they don't have any 'p' prefix.
+
+2009-06-05 Aleksandar Ristovski <aristovski@qnx.com>
+
+ * corelow.c (core_open): Check for core_gdbarch before calling
+ gdbarch_target_signal_from_host.
+
+2009-06-05 Tom Tromey <tromey@redhat.com>
+
+ * c-exp.y (parse_number): Don't use K&R definition.
+ (yylex): Likewise.
+ (yyerror): Likewise.
+
+2009-06-04 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * varobj.c (varobj_update): Fix out of scope varobjs to not to change.
+
+2009-06-04 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * symtab.h: Rename SYMBOL_OPS to SYMBOL_COMPUTED_OPS.
+ * ax-gdb.c (gen_var_ref): Likewise.
+ * findvar.c (read_var_value, symbol_read_needs_frame): Likewise.
+ * printcmd.c (address_info): Likewise.
+ * dwarf2loc.c (dwarf_expr_frame_base): Likewise.
+ * dwarf2read.c (dwarf2_symbol_mark_computed): Likewise.
+ * symtab.h: Rename struct symbol_ops to struct symbol_computed_ops.
+ * dwarf2loc.h: Likewise.
+ * dwarf2loc.c (dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Likewise.
+
+ * symtab.h: (struct symbol_register_ops): New struct definition.
+ (struct symbol): Make "ops" member a union of symbol_computed_ops and
+ symbol_register_ops callback pointers.
+ (SYMBOL_REGISTER_OPS): New macro.
+ * tracepoint.c: Include "objfiles.h".
+ (scope_info, collect_symbol): Use SYMBOL_REGISTER_OPS register_number
+ callback to retrieve register numbers.
+ * ax-gdb.c (gen_var_ref): Likewise.
+ * findvar.c (read_var_value): Likewise.
+ * printcmd.c (address_info): Likewise.
+
+ * coffread.c (coff_reg_to_regnum): New function.
+ (coff_register_funcs): New static variable.
+ (process_coff_symbol): Do not call gdbarch_sdb_reg_to_regnum.
+ Install SYMBOL_REGISTER_OPS callbacks.
+ * mdebugread.c (mdebug_reg_to_regnum): New function.
+ (mdebug_register_funcs): New static variable.
+ (parse_symbol): Do not call gdbarch_ecoff_reg_to_regnum.
+ Install SYMBOL_REGISTER_OPS callbacks.
+ * stabsread.c (stab_reg_to_regnum): New function.
+ (stab_register_funcs): New static variable.
+ (define_symbol): Do not call gdbarch_stab_reg_to_regnum.
+ Install SYMBOL_REGISTER_OPS callbacks.
+
+2009-06-03 Doug Evans <dje@google.com>
+
+ * symfile.c (reread_symbols): Reset psymtabs_addrmap to NULL
+ after discarding its contents.
+
+2009-06-03 Pedro Alves <pedro@codesourcery.com>
+
+ * target.c: Include "exec.h".
+ (update_current_target): Don't inherit to_sections or
+ to_sections_end.
+ (target_get_section_table): New.
+ (target_section_by_addr): Fetch the section table from the passed
+ in target.
+ (memory_xfer_partial): Handle unmapped overlay sections before
+ anything else. Get the overlay mapped address here. Adjust to
+ use section_table_xfer_memory_partial.
+ (get_target_memory): Request a TARGET_OBJECT_RAW_MEMORY object
+ instead of TARGET_OBJECT_MEMORY.
+ (target_resize_to_sections): Delete.
+ (remove_target_sections): Adjust to remove target sections from
+ `current_target_sections', and use resize_section_table.
+ * target.h (struct target_ops) <to_sections, to_sections_end>:
+ Remove fields.
+ <to_get_section_table>: New method.
+ (xfer_memory, print_section_info): Delete declarations.
+ (struct target_section_table): New type.
+ (target_get_section_table): Declare.
+ (target_resize_to_sections): Delete declaration.
+ (remove_target_sections): Delete declaration.
+ * bfd-target.c (target_bfd_xfer_partial): Get the section table
+ from to_data.
+ (target_bfd_get_section_table): New.
+ (target_bfd_xclose): Adjust.
+ (target_bfd_reopen): Store the section table in the to_data field.
+ * corelow.c (core_data): New.
+ (core_close): Adjust to release core_data and its sections.
+ (core_open): Allocate core_data, and build its target sections
+ table.
+ (deprecated_core_resize_section_table): New.
+ (core_files_info): Pass core_data to print_section_info.
+ (core_xfer_partial): Adjust to use
+ section_table_xfer_memory_partial for TARGET_OBJECT_MEMORY xfers.
+ (init_core_ops): Do not install a deprecated_xfer_memory callback
+ anymore.
+ * solib.c (update_solib_list): Add the shared library sections
+ to the current target sections table.
+ * exec.c (current_target_sections_1): New global.
+ (current_target_sections): New global.
+ (exec_close_1): New function, refactored from exec_close. Remove
+ the exec_bfd's sections from the current target sections table.
+ Adjust to not use to_sections.
+ (exec_close): Remove all target sections. Call exec_close_1.
+ (exec_file_clear): Use exec_close_1 instead of unpushing the
+ target.
+ (exec_file_attach): Likewise. Adjust to not use to_sections. Add
+ exec_bfd's sections to the current target sections table. Don't
+ push the exec_ops target here.
+ (resize_section_table): New.
+ (add_target_sections): New.
+ (remove_target_sections): Moved here.
+ (section_table_xfer_memory): Adjust to implement the xfer_partial
+ interface, and rename to...
+ (section_table_xfer_memory_partial): ... this, replacing the
+ current function of that same name.
+ (exec_get_section_table): New.
+ (exec_xfer_partial): New.
+ (xfer_memory): Delete.
+ (print_section_info): Replace the target_ops parameter by a
+ target_section_table parameter.
+ (exec_files_info, set_section_command, exec_set_section_address):
+ Adjust to use the current sections table.
+ (init_exec_ops): Do not register a deprecated_xfer_memory
+ callback. Register to_xfer_partial and to_get_section_table
+ callbacks.
+ * infrun.c (handle_inferior_event): Update comments around
+ solib_add.
+ * rs6000-nat.c (xcoff_relocate_core): Adjust to use
+ deprecated_core_resize_section_table.
+ * exec.h (resize_section_table): Declare.
+ (section_table_xfer_memory_partial): Add const char * argument.
+ (remove_target_sections): Declare here.
+ (add_target_sections): Declare.
+ (print_section_info): Declare here.
+ * gdbcore.h (deprecated_core_resize_section_table): Declare.
+
+2009-06-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * value.h (struct internalvar): Remove.
+ (get_internalvar_integer): Add prototype.
+ (set_internalvar_integer): Add prototype.
+ (clear_internalvar): Add prototype.
+
+ * value.c (struct internalvar): Move here. Add type member. Remove
+ endian member. Add union_internalvar member instead of value member.
+ (init_if_undefined_command): Use intvar->type.
+ (create_internalvar): Do not initialize value/endian, but type.
+ (create_internalvar_type_lazy): Call create_internalvar.
+ (value_of_internalvar): Handle host-side internalvar contents.
+ (set_internalvar_component): Likewise.
+ (set_internalvar): Likewise.
+ (get_internalvar_integer): New function.
+ (clear_internalvar): Likewise.
+ (set_internalvar_integer): Likewise.
+ (preserve_values): Handle host-side internalvar contents.
+
+ * breakpoint.c (set_breakpoint_count, set_tracepoint_count): Call
+ set_internalvar_integer instead of set_internalvar.
+ * findcmd.c (find_command): Likewise.
+ * infrun.c (handle_inferior_event): Likewise.
+ * source.c (forward_search_command, reverse_search_command): Likewise.
+ * tracepoint.c (set_traceframe_num, set_tracepoint_num,
+ set_traceframe_context): Likewise.
+
+ * printcmd.c (x_command): Call clear_internalvar instead of
+ set_internalvar.
+ * tracepoint.c (set_traceframe_context): Likewise.
+
+ * breakpoint.c (get_number_trailer): Call get_internalvar_integer
+ instead of value_of_internalvar.
+ * linespec.c (decode_dollar): Likewise.
+
+ * expprint.c (dump_subexp_body_standard): Use internalvar_name
+ instead of accessing internalvar private elements.
+ * valops.c (value_assign): Copy from original source instead of
+ accessing internalvar private elements.
+
+2009-06-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * scm-lang.c (builtin_type_scm): Remove.
+ (scm_lookup_name): Add GDBARCH parameter. Use it instead of
+ objfile architecture. Use per-architecture builtin_scm_type instead
+ of builtin_type_scm.
+ (evaluate_exp): Pass expression architecture to scm_lookup_name.
+
+ (scm_get_field): Add SIZE parameter. Use it instead of
+ TYPE_LENGTH (builtin_type_scm).
+
+ (build_scm_types): New function.
+ (scm_type_data): New variable.
+ (builtin_scm_type): New function.
+ (_initialize_scheme_language): Do not initialize builtin_type_scm.
+ Register build_scm_types as post-init function for scm_type_data.
+
+ * scm-exp.c (scm_lreadr): Use per-architecture builtin_scm_type
+ instead of builtin_type_scm.
+
+ * scm-lang.h (SCM_CAR, SCM_CDR): Pass SCM_SIZE to scm_get_field.
+ (scm_get_field): Add SIZE paramter.
+ (scm_scmval_print): Remove prototype.
+ (builtin_type_scm): Remove.
+ (struct builtin_scm_type): Add structure definition.
+ (builtin_scm_type): Add prototype.
+
+ * scm-valprint.c (scm_inferior_print): Add TYPE parameter. Use it
+ instead of builtin_core_addr type; do not use objfile architecture.
+ (scm_scmlist_print): Add TYPE parameter. Use it to define SCM_SIZE.
+ Pass type to scm_scmval_print.
+ (scm_ipruk): Add TYPE parameter. Use it to define SCM_SIZE.
+ (scm_scmval_print): Make static. Add TYPE parameter. Use it to
+ define SCM_SIZE. Pass type to scm_ipruk and scm_scmlist_print.
+ (scm_val_print): Pass type to scm_inferior_print and scm_scmval_print.
+
+2009-06-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * mdebugread.c (mdebug_type_void, mdebug_type_char, mdebug_type_short,
+ mdebug_type_int, mdebug_type_int_32, mdebug_type_int_64,
+ mdebug_type_long_32, mdebug_type_long_64, mdebug_type_long_long_64,
+ mdebug_type_unsigned_char, mdebug_type_unsigned_short,
+ mdebug_type_unsigned_int_32, mdebug_type_unsigned_int_64,
+ mdebug_type_unsigned_long_32, mdebug_type_unsigned_long_64,
+ mdebug_type_unsigned_long_long_64, mdebug_type_adr_32,
+ mdebug_type_adr_64, mdebug_type_float, mdebug_type_double,
+ mdebug_type_complex, mdebug_type_double_complex,
+ mdebug_type_fixed_dec, mdebug_type_float_dec, mdebug_type_string):
+ Remove.
+
+ (basic_type_data): New global variable.
+ (basic_type): New function.
+ (parse_type): Remove static basic type map map_bt. Call basic_type
+ to get basic types instead of using mdebug_type_ variables.
+
+ (parse_symbol): Use builtin types instead of mdebug_type_ variables.
+ (upgrade_type): Likewise.
+ (parse_procedure): Likewise.
+ (psymtab_to_symtab_1): Likewise.
+
+ (_initialize_mdebugread): Do not initialize mdebug_type_ variables.
+ Initialize basic_type_data.
+
+2009-06-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * dfp.h (decimal_binop): Convert LEN_RESULT to input parameter.
+ * dfp.c (promote_decimal): Remove.
+ (decimal_binop): Convert LEN_RESULT to input parameter.
+ Remove call to decimal_binop.
+ (decimal_compare): Remove call to decimal_binop.
+
+ * valarith.c (value_binop): Pass desired result type length
+ to decimal_binop.
+
+2009-06-01 Tristan Gingold <gingold@adacore.com>
+
+ * configure.tgt (avr): Set gdb_sim to use the simulator.
+
+2009-05-29 Doug Evans <dje@google.com>
+
+ * infrun.c (prepare_to_proceed): Document. Assert !non_stop.
+ If scheduler-locking is enabled, we're not going to be singlestepping
+ any other previously stopped thread.
+
+2009-05-29 Pedro Alves <pedro@codesourcery.com>
+
+ * mi/mi-interp.c (mi_on_resume): Initialize `count' to 0.
+
+2009-05-29 Eli Zaretskii <eliz@gnu.org>
+
+ * i386-tdep.c (i386_go32_init_abi): Use SVR4 register numbering
+ for stabs and COFF debug info.
+
+2009-05-28 Pedro Alves <pedro@codesourcery.com>
+
+ * infrun.c (handle_inferior_event): When thread hoping, switch
+ inferior_ptid to the event thread before removing breakpoints from
+ the target. If not stopping, also try to revert back to a thread
+ that was doing a "next". Check if that thread still exists before
+ resuming.
+ (currently_stepping_thread): Delete and merge with ...
+ (currently_stepping): ... this.
+ (currently_stepping_callback): Rename to ...
+ (currently_stepping_or_nexting_callback): ... this, and also
+ return true if the thread was stepping over a call (has a
+ step-resume breakpoint).
+
+2009-05-28 Tom Tromey <tromey@redhat.com>
+
+ * python/python.c (gdbpy_parameter): Rename. Fix error message.
+ (GdbMethods): Change "get_parameter" to "parameter".
+
+2009-05-28 Pierre Muller <muller@ics.u-strasbg.fr>
+ Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ * configure.ac (!have_libpython): Add python-prettyprint source
+ and object files.
+ * configure: Regenerate.
+ * python/python-prettyprint.c: Move "#ifdef HAVE_PYTHON" before
+ python headers.
+
+2009-05-27 Vladimir Prus <vladimir@codesourcery.com>
+ Tom Tromey <tromey@redhat.com>
+ Thiago Jung Bauermann <bauerman@br.ibm.com>
+
+ * mi/mi-main.c (mi_cmd_list_features): List "python" feature.
+ * varobj.h (varobj_set_visualizer): Declare.
+ (varobj_get_display_hint): Likewise.
+ (varobj_update_result_t) <children_changed, value_installed>: New
+ fields.
+ * mi/mi-cmds.c (mi_cmds): Add var-set-visualizer.
+ * mi/mi-cmds.h (mi_cmd_var_set_visualizer,
+ mi_cmd_var_set_child_range): Declare.
+ * mi/mi-cmd-var.c (mi_cmd_var_set_visualizer): New function.
+ (mi_cmd_var_list_children): Emit display hint.
+ (varobj_update_one): Emit display hint. Handle dynamic children.
+ * python/python.c (GdbMethods): Add "default_visualizer".
+ * python/python-internal.h (apply_varobj_pretty_printer,
+ gdbpy_get_varobj_pretty_printer, gdbpy_get_display_hint):
+ Declare.
+ (gdbpy_default_visualizer): Likewise.
+ * varobj.c: Include python.h, python-internal.h.
+ (PyObject): New typedef.
+ (struct varobj) <children_requested, pretty_printer>: New fields.
+ (varobj_create): Call install_default_visualizer.
+ (instantiate_pretty_printer): New function.
+ (varobj_set_display_format): Update.
+ (varobj_get_display_hint): New function.
+ (update_dynamic_varobj_children): New function.
+ (varobj_get_num_children): Handle dynamic children.
+ (varobj_list_children): Likewise.
+ (install_new_value): Likewise.
+ (varobj_add_child): New function.
+ (install_visualizer): Likewise.
+ (install_default_visualizer): Likewise.
+ (varobj_set_visualizer): Likewise.
+ (varobj_update): Handle dynamic children.
+ (create_child): Use create_child_with_value.
+ (create_child_with_value): New function.
+ (value_get_print_value): Call pretty printer. Add value_formatter
+ argument.
+ (c_value_of_variable): Update.
+ (varobj_invalidate): Always free all_rootvarobj.
+ * python/python-prettyprint.c (apply_varobj_pretty_printer): New
+ function.
+ (gdbpy_get_varobj_pretty_printer): Likewise.
+ (gdbpy_default_visualizer): Likewise.
+
+2009-05-27 Tom Tromey <tromey@redhat.com>
+ Thiago Jung Bauermann <bauerman@br.ibm.com>
+ Phil Muldoon <pmuldoon@redhat.com>
+ Paul Pluzhnikov <ppluzhnikov@google.com>
+ Vladimir Prus <vladimir@codesourcery.com>
+
+ * python/python-value.c (value_object_to_value): New function.
+ * python/python-internal.h: Include frameobject.h.
+ (gdbpy_children_cst, gdbpy_to_string_cst, gdbpy_display_hint_cst):
+ Declare.
+ (value_object_to_value): Declare.
+ * printcmd.c (struct format_data) <raw>: New field.
+ (last_format): Default to 0.
+ (decode_format): Initialize val.raw. Handle /r flag.
+ (print_command_1): Initialize fmt.raw and opts.raw.
+ (output_command): Likewise.
+ (x_command): Fix initialization of fmt.format. Initialize
+ fmt.raw.
+ (display_command): Initialize fmt.raw.
+ (do_one_display): Set opts.raw.
+ * python/python.c (gdbpy_to_string_cst, gdbpy_children_cst,
+ gdbpy_display_hint_cst): New globals.
+ (_initialize_python): Initialize them. Set gdb.pretty_printers.
+ * cp-valprint.c: Include python.h.
+ (cp_print_value): Call apply_val_pretty_printer.
+ * python/python.h (apply_val_pretty_printer): Declare.
+ * stack.c (print_this_frame_argument_p): Remove.
+ (print_frame_args): Compute summary flag. Don't use
+ print_this_frame_argument_p.
+ * valprint.c: Include python.h.
+ (user_print_options): Initialize new fields.
+ (scalar_type_p): New function.
+ (val_print): Handle 'raw' and 'summary' modes. Call
+ apply_val_pretty_printer.
+ (value_print): Handle 'raw' mode.
+ * valprint.h (struct value_print_options) <raw, summary>: New
+ fields.
+ * Makefile.in (SUBDIR_PYTHON_OBS): Add python-prettyprint.o
+ (SUBDIR_PYTHON_SRCS): Add python-prettyprint.c.
+ (python-prettyprint.o): New target.
+ * python/python-prettyprint.c: New file.
+
+2009-05-27 Tom Tromey <tromey@redhat.com>
+ Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ * mi/mi-main.c (mi_cmd_data_evaluate_expression): Use
+ value_address.
+ * cli/cli-dump.c (dump_value_to_file): Use value_address.
+ * valprint.c (common_val_print): Likewise.
+ * v850-tdep.c (v850_push_dummy_call): Use value_address.
+ * tracepoint.c (encode_actions): Use value_address.
+ * printcmd.c (print_formatted): Use value_address.
+ (x_command): Likewise.
+ * p-valprint.c (pascal_object_print_static_field): Use
+ value_address.
+ * mn10300-tdep.c (mn10300_push_dummy_call): Use value_address.
+ * mips-tdep.c (mips_eabi_push_dummy_call): Use value_address.
+ * m32r-tdep.c (m32r_push_dummy_call): Use value_address.
+ * jv-valprint.c (java_value_print): Use value_address.
+ * infcall.c (find_function_addr): Use value_address.
+ * gnu-v3-abi.c (gnuv3_rtti_type): Use value_address.
+ * gnu-v2-abi.c (gnuv2_value_rtti_type): Use value_address.
+ * frv-tdep.c (frv_push_dummy_call): Use value_address.
+ * frame.c (frame_register_unwind): Use value_address.
+ (frame_unwind_register_value): Likewise.
+ * darwin-nat-info.c (info_mach_region_command): Use
+ value_address.
+ * cp-valprint.c (cp_print_static_field): Use value_address.
+ * c-valprint.c (c_value_print): Use value_address.
+ * breakpoint.c (update_watchpoint): Use value_address.
+ (can_use_hardware_watchpoint): Likewise.
+ * ada-valprint.c (ada_val_print_1): Use value_address.
+ (ada_value_print): Likewise.
+ * ada-tasks.c (read_fat_string_value): Use value_address.
+ * jv-lang.c (java_link_class_type): Use set_value_address.
+ (java_link_class_type): Likewise.
+ (get_java_utf8_name): Use value_address.
+ (type_from_class): Likewise.
+ (java_link_class_type): Likewise.
+ * findvar.c (value_of_register): Use set_value_address.
+ (read_var_value): Likewise.
+ (read_var_value): Likewise.
+ * eval.c (evaluate_subexp_standard): Use set_value_address.
+ (evaluate_subexp_standard): Use value_address.
+ * dwarf2loc.c (dwarf2_evaluate_loc_desc): Use set_value_address.
+ * ada-lang.c (coerce_unspec_val_to_type): Use set_value_address.
+ (ada_value_primitive_packed_val): Likewise.
+ (ensure_lval): Likewise.
+ (thin_data_pntr): Use value_address.
+ (desc_bounds): Likewise.
+ (ada_value_primitive_packed_val): Likewise.
+ (value_assign_to_component): Likewise.
+ (ensure_lval): Likewise.
+ (make_array_descriptor): Likewise.
+ (ada_to_fixed_value): Likewise.
+ (unwrap_value): Likewise.
+ * value.c (deprecated_value_address_hack): Remove.
+ (value_address): New function.
+ (value_raw_address): Likewise.
+ (set_value_address): Likewise.
+ (value_fn_field): Use set_value_address.
+ (value_from_contents_and_address): Likewise.
+ (value_fn_field): Likewise.
+ (allocate_value_lazy): Don't use VALUE_ADDRESS.
+ (value_as_address): Use value_address.
+ (value_static_field): Likewise.
+ * valops.c (search_struct_field): Use set_value_address.
+ (value_at): Likewise.
+ (value_at_lazy): Likewise.
+ (value_repeat): Likewise.
+ (value_cast_structs): Use value_address.
+ (value_cast): Likewise.
+ (value_fetch_lazy): Likewise.
+ (value_assign): Likewise.
+ (value_repeat): Likewise.
+ (address_of_variable): Likewise.
+ (value_coerce_array): Likewise.
+ (value_coerce_function): Likewise.
+ (value_addr): Likewise.
+ (search_struct_field): Likewise.
+ (search_struct_method): Likewise.
+ (find_method_list): Likewise.
+ (value_struct_elt_for_reference): Likewise.
+ (value_full_object): Likewise.
+ * jv-valprint.c (java_value_print): Use set_value_address.
+ * value.h (deprecated_value_address_hack): Remove.
+ (VALUE_ADDRESS): Remove.
+ (value_address): Declare.
+ (value_raw_address): Declare.
+ (set_value_address): Declare.
+
+2009-05-27 Tom Tromey <tromey@redhat.com>
+ Thiago Jung Bauermann <bauerman@br.ibm.com>
+ Phil Muldoon <pmuldoon@redhat.com>
+ Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ * python/python.c (_initialize_python): Call
+ gdbpy_initialize_types.
+ (GdbMethods): Add "lookup_type".
+ * python/python-value.c (value_object) <type>: New field.
+ (valpy_dealloc): Decref type.
+ (valpy_new): Initialize type.
+ (valpy_get_type): New function.
+ (value_to_value_object): Initialize type.
+ (valpy_cast): New function.
+ (value_object_getset): Add "type".
+ (value_object_methods): Add "cast".
+ * python/python-internal.h (type_to_type_object): Declare.
+ (type_object_to_type): Likewise.
+ (gdbpy_initialize_types): Likewise.
+ (gdbpy_lookup_type): Declare.
+ * Makefile.in (SUBDIR_PYTHON_OBS): Add python-type.o.
+ (SUBDIR_PYTHON_SRCS): Add python-type.c.
+ (python-type.o): New target.
+ * python/python-type.c: New file.
+
+2009-05-27 Tom Tromey <tromey@redhat.com>
+ Thiago Jung Bauermann <bauerman@br.ibm.com>
+ Phil Muldoon <pmuldoon@redhat.com>
+
+ * python/python.c: Include objfiles.h, observer.h.
+ (gdbpy_auto_load): New global.
+ (gdbpy_current_objfile): Likewise.
+ (GDBPY_AUTO_FILENAME): New define.
+ (gdbpy_new_objfile): New function.
+ (gdbpy_get_current_objfile): Likewise.
+ (gdbpy_objfiles): Likewise.
+ (_initialize_python): Add "maint set auto-load". Call
+ gdbpy_initialize_objfile. Attach objfile observer.
+ (GdbMethods): New methods current_objfile, objfiles.
+ * python/python-objfile.c: New file.
+ * python/python-internal.h (objfile_to_objfile_object): Declare.
+ (objfpy_get_printers): Likewise.
+ (gdbpy_initialize_objfile): Likewise.
+ * Makefile.in (SUBDIR_PYTHON_OBS): Add python-objfile.o.
+ (SUBDIR_PYTHON_SRCS): Add python-objfile.c.
+ (python-objfile.o): New target.
+
+2009-05-27 Pedro Alves <pedro@codesourcery.com>
+
+ * infrun.c (follow_exec): Clear the stop_requested flag.
+ * linux-nat.c (linux_handle_extended_wait) <PTRACE_EVENT_EXEC>:
+ Add debug output.
+
+2009-05-27 Aleksandar Ristovski <aristovski@qnx.com>
+
+ * nto-procfs.c (get_regset): Pass correct pointer.
+
+2009-05-26 Doug Evans <dje@google.com>
+
+ * dwarf2read.c (follow_die_ref): Add comment.
+ (dwarf2_mark_helper): Tweak comment.
+ (dwarf2_mark): Move description to its proper place.
+
+2009-05-25 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * procfs.c (procfs_wait): Add options parameter.
+
+2009-05-24 Doug Evans <dje@google.com>
+
+ Global renaming of find_thread_pid to find_thread_ptid.
+ * gdbthread.h (find_thread_ptid): Renamed from find_thread_pid.
+ * thread.c (find_thread_ptid): Renamed from find_thread_pid.
+ All callers updated.
+
+ * infrun.c (follow_fork): Initialize new step_* locals
+ to avoid "may be used uninitialized" warnings.
+
+2009-05-24 Pedro Alves <pedro@codesourcery.com>
+
+ * inflow.c (copy_terminal_info): Deep copy `run_terminal'.
+
+2009-05-24 Pedro Alves <pedro@codesourcery.com>
+
+ * gdbthread.h (struct thread_info): New `pending_follow' field.
+ * thread.c (new_thread): New function.
+ (add_thread_silent): Use it.
+ * breakpoint.c (internal_breakpoint_number): New global, moved
+ from inside...
+ (create_internal_breakpoint): ... this.
+ (clone_momentary_breakpoint): New.
+ * breakpoint.h (clone_momentary_breakpoint): Declare.
+ * infrun.c (nullify_last_target_wait_ptid): Move declaration
+ higher.
+ (pending_follow): Delete.
+ (follow_fork): Handle pending follow fork event here. Moved the
+ preserving of thread stepping state here.
+ (resume): Don't handle pending follow fork events here. Only
+ install the inferior's terminal modes if we're about to resume it.
+ (proceed): Handle possible pending follow fork events here.
+ (init_wait_for_inferior): No need to clear pending_follow anymore,
+ it's gone.
+ (handle_inferior_event): Adjust to per-thread `pending_follow'.
+ Call `follow_fork' to handle following the fork. If the
+ follow-fork is cancelled, stop stepping.
+ * linux-nat.c (linux_child_follow_fork): Adjust to per-thread
+ `pending_follow' events. Remove code that handled preserving the
+ thread stepping state.
+ * inf-ptrace.c (inf_ptrace_follow_fork): Ditto.
+ * inf-ttrace.c (inf_ttrace_follow_fork): Ditto.
+
+2009-05-24 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * symfile.c (add_shared_symbol_files_command): Remove
+ prototype and function.
+ (_initialize _symfile): Move "add-shared-symbol-files"
+ command and "assf" alias.
+ * windows-nat.c (_initialize_windows_nat): to here.
+ Change "add-shared-symbol-files" to alias.
+
+ * config/i386/cygwin.mh: Remove NAT_FILE.
+ * config/i386/mingw.mh: Remove NAT_FILE.
+ * config/i386/mingw64.mh: Remove NAT_FILE.
+ * config/i386/nm-cygwin.h: Remove file.
+ * config/i386/nm-cygwin64.h: Remove file.
+
+2009-05-24 Hui Zhu <teawater@gmail.com>
+
+ * i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
+ I386_LINUX_RECORD_IOCTL_*,
+ I386_LINUX_RECORD_FCNTL_*) Removed.
+ (i386_linux_init_abi): Change size of record from macros to
+ numbers.
+
+2009-05-24 Hui Zhu <teawater@gmail.com>
+
+ * i386-linux-tdep.c (i386_linux_init_abi): Remove size_char.
+ * linux-record.c (record_linux_system_call): Ditto.
+ * linux-record.h (linux_record_tdep): Ditto.
+
+2009-05-23 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Replace the savestring calls by xstrdup calls where possible.
+ * breakpoint.c (condition_command, set_raw_breakpoint)
+ (create_catchpoint, update_breakpoint_locations): Replace the
+ savestring calls by xstrdup calls where possible.
+ * buildsym.c (start_subfile, patch_subfile_names, record_debugformat)
+ (record_producer): Likewise.
+ * coffread.c (coff_start_symtab, complete_symtab): Likewise.
+ * corefile.c (set_gnutarget): Likewise.
+ * dbxread.c (add_new_header_file): Likewise.
+ * demangle.c (set_demangling_command, set_demangling_style): Likewise.
+ * event-top.c (push_prompt, pop_prompt, command_line_handler)
+ (set_async_prompt): Likewise.
+ * infcmd.c (set_inferior_io_terminal, attach_command_post_wait):
+ Likewise.
+ * language.c (set_language_command, _initialize_language): Likewise.
+ * linespec.c (decode_line_2): Likewise.
+ * rs6000-nat.c (add_vmap): Likewise.
+ * top.c (set_prompt, init_history, init_main): Likewise.
+ * tracepoint.c (stringify_collection_list): Likewise.
+ * varobj.c (varobj_create): Remove variable expr_len. Replace the
+ savestring calls by xstrdup calls where possible.
+ (value_of_root, c_name_of_variable, c_describe_child): Replace the
+ savestring calls by xstrdup calls where possible.
+ * xcoffread.c (complete_symtab): Likewise.
+ * cli/cli-script.c (build_command_line, define_command): Likewise.
+ * cli/cli-setshow.c (do_setshow_command): Likewise.
+
+2009-05-23 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Remove already unreachable code.
+ * varobj.c (varobj_get_handle): Fix comment when error is called.
+ All callers updated.
+
+2009-05-23 Eli Zaretskii <eliz@gnu.org>
+
+ * README (`configure' options): Document GDB-specific options to
+ `configure'.
+
+ * symtab.c (skip_prologue_using_lineinfo): New function.
+ (find_function_start_sal): Use it to get to the first line of
+ function's body that has an entry in the lineinfo table.
+
+ * symmisc.c (dump_symtab): Switch the current language to
+ the language of the symtab we are dumping only if the symtab's
+ language is neither language_auto nor language_unknown.
+
+ * coffread.c (coff_symtab_read): Set language_minimal as the
+ language for the "_globals_" pseudo-file.
+ (process_coff_symbol): Set the symbol's language to the language
+ of current_subfile.
+
+2009-05-22 Pedro Alves <pedro@codesourcery.com>
+
+ * target.h (struct section_table): Rename to ...
+ (struct target_section): ... this.
+ * exec.c: Adjust all references.
+ * exec.h: Adjust all references.
+ * nto-tdep.c: Adjust all references.
+ * nto-tdep.h: Adjust all references.
+ * ppc-linux-tdep.c: Adjust all references.
+ * rs6000-nat.c: Adjust all references.
+ * s390-tdep.c: Adjust all references.
+ * solib-darwin.c: Adjust all references.
+ * solib-frv.c: Adjust all references.
+ * solib-irix.c: Adjust all references.
+ * solib-null.c: Adjust all references.
+ * solib-osf.c: Adjust all references.
+ * solib-pa64.c: Adjust all references.
+ * solib-som.c: Adjust all references.
+ * solib-sunos.c: Adjust all references.
+ * solib-svr4.c: Adjust all references.
+ * solib-target.c: Adjust all references.
+ * solib.c: Adjust all references.
+ * solist.h: Adjust all references.
+ * symfile.c: Adjust all references.
+ * symfile.h: Adjust all references.
+ * target.c: Adjust all references.
+
+2009-05-22 Hui Zhu <teawater@gmail.com>
+
+ Add sys_fcntl argument interfaces to linux_record_tdep.
+
+ * linux-record.h (linux_record_tdep): Add fcntl_F_GETLK,
+ fcntl_F_GETLK64, fcntl_F_SETLK64 and fcntl_F_SETLKW64 to be
+ interfaces.
+ * i386-linux-tdep.c (I386_LINUX_RECORD_FCNTL_F_GETLK,
+ I386_LINUX_RECORD_FCNTL_F_GETLK64,
+ I386_LINUX_RECORD_FCNTL_F_SETLK64,
+ I386_LINUX_RECORD_FCNTL_F_SETLKW64): New macros. The values
+ of I386 Linux sys_fcntl arguments.
+ (i386_linux_init_abi): Set macros values to linux_record_tdep.
+ * linux-record.c (record_linux_system_call): Change to use
+ the interface in linux_record_tdep in sys_fcntl and
+ sys_fcntl64.
+
+ * linux-record.c (record_linux_system_call): Fix the process
+ record build error about type in CYGWIN.
+
+2009-05-22 Pedro Alves <pedro@codesourcery.com>
+
+ * inflow.c (kill_command): Delete left over static declaration.
+
+2009-05-22 Pedro Alves <pedro@codesourcery.com>
+
+ * bfd-target.c: Don't include gdb_assert.h or gdb_string.h.
+ Include exec.h.
+ (struct section_closure): Delete.
+ (add_to_section_table): Delete.
+ (build_target_sections_from_bfd): Delete.
+ (target_bfd_xfer_partial): Use section_table_xfer_memory_partial.
+ (target_bfd_reopen): Use build_section_table.
+ * exec.c (xfer_memory): Move most code except for overlay
+ debugging support from here...
+ (section_table_xfer_memory): ... to this new function.
+ (section_table_xfer_memory_partial): New.
+ * exec.h (section_table_xfer_memory_partial): Declare.
+ * bfd-target.h (build_target_sections_from_bfd): Delete
+ declaration.
+
+2009-05-22 Pedro Alves <pedro@codesourcery.com>
+
+ * remote.c (compare_sections_command): Don't declare exec_bfd.
+ * tracepoint.c: Include "gdbcore.h".
+ (remote_set_transparent_ranges): Don't declare exec_bfd.
+
+2009-05-21 Pedro Alves <pedro@codesourcery.com>
+
+ * aix-thread.c (init_aix_thread_ops): Whitespace.
+
+2009-05-21 Pedro Alves <pedro@codesourcery.com>
+
+ * dec-thread.c (dec_thread_wait): Add options parameter. Use it
+ to call the to_wait method in the target beneath.
+ * remote-m32r-sdi.c (m32r_wait): Add options parameter.
+
+2009-05-21 Joel Brobecker <brobecker@adacore.com>
+
+ * aix-thread.c (aix_thread_wait): Add options parameter. Use it
+ to call the to_wait method in the target_beneath.
+
+2009-05-21 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.c (linux_nat_terminal_inferior)
+ (linux_nat_terminal_ours): Don't check sync_execution.
+ * remote.c (remote_terminal_inferior, remote_terminal_ours):
+ Don't check sync_execution. Update comments.
+ * target.c (target_terminal_inferior): New.
+ * target.h (target_terminal_inferior): Delete macro, and declare
+ as function.
+ * event-top.c (async_disable_stdin): Make idempotent. Don't give
+ the target the terminal here.
+ * inflow.c (terminal_ours_1): Don't return early without setting
+ `terminal_is_ours'.
+
+2009-05-21 Pedro Alves <pedro@codesourcery.com>
+
+ * target.h (TARGET_WNOHANG): New.
+ * target.c (target_wait): Add `options' argument. Adjust.
+ (struct target_ops) <to_wait>: Add `options' argument.
+ (target_wait): Add `options' argument.
+ * infrun.c (wait_for_inferior): Pass 0 as options to
+ target_wait (blocking wait).
+ (fetch_inferior_event): Pass TARGET_WNOHANG as options to
+ target_wait.
+ * fork-child.c (startup_inferior): Pass 0 as options to
+ target_wait (blocking wait).
+ * linux-nat.c (linux_nat_create_inferior): Remove async masking.
+ (linux_nat_wait_1): Add `target_options' argument. Use it instead
+ of checking on target_can_async_p.
+ (linux_nat_wait): Add `target_options' argument. Adjust.
+ * remote.c (remote_wait_ns): Add `options' argument. Adjust to
+ check on TARGET_WNOWAIT instead of checking on remote_is_async_p.
+ (remote_wait_as): Add `options' argument. Adjust to check on
+ TARGET_WNOWAIT instead of checking on remote_is_async_p. If doing
+ a blocking wait, keep waiting until an interesting event comes
+ out.
+ (remote_wait): Add `options' argument. Don't loop here if the
+ target is in async mode, and a blocking wait has been requested.
+
+ * top.c (deprecated_target_wait_hook): Add `options' argument.
+ * linux-thread-db.c (thread_db_wait): Add `options' argument, and
+ pass it down to the layer beneath.
+ * inf-ptrace.c (inf_ptrace_wait): Add `options' argument.
+ * record.c (record_beneath_to_wait): Add `options' argument.
+ (record_wait): Add `options' argument, and pass it down to the
+ layer beneath.
+ * bsd-uthread.c (bsd_uthread_wait): Add `options' argument.
+ * darwin-nat.c (darwin_wait): Likewise.
+ * defs.h (deprecated_target_wait_hook): Likewise.
+ * gnu-nat.c (gnu_wait): Add `options' argument.
+ * go32-nat.c (go32_wait): Likewise.
+ * hpux-thread.c (hpux_thread_wait): Add `options' argument, and
+ pass it down to the layer beneath.
+ * inf-ttrace.c (inf_ttrace_wait): Add `options' argument.
+ * monitor.c (monitor_wait): Likewise.
+ * nto-procfs.c (procfs_wait): Likewise.
+ * remote-mips.c (mips_wait): Add `options' argument.
+ * remote-sim.c (gdbsim_wait): Likewise.
+ * rs6000-nat.c (rs6000_wait): Add `options' argument.
+ * sol-thread.c (sol_thread_wait): Add `options' argument, and pass
+ it down to the layer beneath.
+ * spu-linux-nat.c (spu_child_wait): Add `options' argument.
+ * windows-nat.c (windows_wait): Likewise.
+ * tui/tui-hooks.c (tui_target_wait_hook): Likewise. Adjust.
+
+2009-05-21 Pedro Alves <pedro@codesourcery.com>
+
+ * mi/mi-interp.c (mi_on_resume): Account for whole process
+ resumes.
+
+2009-05-21 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * m2-exp.y (MAX_FUNC): Fix trailing UNOP_MAX.
+
+2009-05-21 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * dwarf2read.c (set_cu_language): Recognize also DW_LANG_C99.
+
+2009-05-21 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix parsing DW_AT_const_value using DW_FORM_string.
+ * dwarf2read.c (dwarf2_const_value <DW_FORM_string>): New.
+
+2009-05-20 Joel Brobecker <brobecker@adacore.com>
+
+ * aix-thread.c (giter_count): Do not count the main thread.
+ (giter_accum): Do not include the main thread.
+
+2009-05-19 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Remove the PROT parameter from openp.
+ * source.c (openp): Remove the parameter PROT. Assertion check MODE.
+ defs.h (openp): Update the prototype.
+ Update all the openp callers.
+
+2009-05-19 Pedro Alves <pedro@codesourcery.com>
+
+ * inflow.c (kill_command): Moved to infcmd.c.
+ (_initialize_inflow): Don't add the "kill" command or clear
+ inferior_ptid here.
+ * infcmd.c (kill_command): Moved here from inflow.c.
+ (_initialize_infcmd): Add the "kill" command here.
+
+2009-05-19 Pedro Alves <pedro@codesourcery.com>
+
+ * fork-child.c: Don't include frame.h. Include terminal.h.
+ (fork_inferior): Call new_tty_postfork after forking adn adding
+ the child to the inferior list.
+ * inferior.h (new_tty_prefork, gdb_has_a_terminal): Don't declare
+ here.
+ * inflow.c (struct terminal_info): Remove const qualifier from
+ `run_terminal' field.
+ (inferior_thisrun_terminal): Tweak comment.
+ (inflow_inferior_exit): Release the `run_terminal' field.
+ (copy_terminal_info): New function.
+ (new_tty_postfork): New function.
+ * terminal.h (new_tty_prefork, new_tty, new_tty_postfork,
+ (copy_terminal_info, gdb_has_a_terminal, gdb_setpgid): Declare.
+ * inf-ptrace.c: Include terminal.h.
+ (inf_ptrace_follow_fork): Copy the parent's terminal info to the
+ child.
+ * linux-nat.c: Include terminal.h.
+ (linux_child_follow_fork): Copy the parent's terminal info to the
+ child.
+ * inf-ttrace.c: Include terminal.h.
+ (inf_ttrace_follow_fork): Copy the parent's terminal info to the
+ child.
+
+2009-05-19 Pedro Alves <pedro@codesourcery.com>
+
+ * breakpoint.c (insert_breakpoints, breakpoint_init_inferior)
+ (update_global_location_list): Use gdbarch_has_global_breakpoints
+ instead of gdbarch_has_global_solist and
+ target_supports_multi_process.
+ * dicos-tdep.c (dicos_init_abi): Set
+ gdbarch_has_global_breakpoints.
+ * gdbarch.sh (has_global_solist): Update comment.
+ (has_global_breakpoints): New.
+ * remote.c (remote_start_remote): Use
+ gdbarch_has_global_breakpoints instead of
+ gdbarch_has_global_solist.
+ * target.c (target_detach): Use gdbarch_has_global_breakpoints
+ instead of gdbarch_has_global_solist.
+ * infcmd.c (attach_command): Use gdbarch_has_global_solist instead
+ of target_supports_multi_process.
+
+2009-05-18 Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ * objc-lang.c (find_methods): Plug a small memory leak.
+
+2009-05-18 Pedro Alves <pedro@codesourcery.com>
+
+ * solib-svr4.c: Include observer.h.
+ (debug_base, debug_loader_offset_p, debug_loader_offset)
+ (debug_loader_name, main_lm_addr): Move these globals...
+ (struct svr4_info): ... into this new structure.
+ (svr4_info_p): New typedef.
+ (svr4_info): New global.
+ (get_svr4_info, remove_svr4_info, solib_svr4_inferior_exit): New
+ functions.
+ (locate_base, solib_svr4_r_map, solib_svr4_r_brk)
+ (solib_svr4_r_ldsomap): Add svr4_info argument. Adjust to
+ per-inferior svr4.
+ (open_symbol_file_object): Adjust to per-inferior svr4.
+ (svr4_default_sos, svr4_current_sos, svr4_fetch_objfile_link_map):
+ Ditto.
+ (enable_break): Add svr4_info argument. Adjust to per-inferior
+ svr4.
+ (enable_break, svr4_solib_create_inferior_hook, svr4_clear_solib):
+ Adjust to per-inferior svr4.
+ (_initialize_svr4_solib): Install the solib_svr4_inferior_exit
+ observer.
+
+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 breakpoint
+ * 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-01-14 Kai Tietz <kai.tietz@onevision.com>
- * mingw-ser.c (console_select_thread): Add return to make
+ * ser-mingw.c (console_select_thread): Add return to make
compiler happy.
(pipe_select_thread): Likewise.
(file_select_thread): Likewise.