+2009-06-19 Jerome Guitton <guitton@adacore.com>
+
+ * breakpoint.c (expand_line_sal_maybe): When explicit_line,
+ skip prologue on each sals.
+ (skip_prologue_sal): Return explicit_line and explicit_pc
+ unmodified.
+
+2009-06-19 Tristan Gingold <gingold@adacore.com>
+
+ * darwin-nat.c (_initialize_darwin_inferior): Remove commented-out
+ line.
+
+2009-06-19 Tristan Gingold <gingold@adacore.com>
+ * machoread.c (macho_symtab_read): Adjust for bfd changes.
+ * darwin-nat.h (struct darwin_exception_msg): New type to describe
+ a mach exception.
+ (struct private_thread_info): New type to describe the state of the
+ thread.
+ (DEF_VEC_I thread_t): Removed, replaced by ...
+ (DEF_VEC_O darwin_thread_t): ... this new type.
+ (struct darwin_inferior): Renamed to ...
+ (struct private_inferior): ... this type. Fields added.
+ (darwin_not_port): Moved into the private inferior structure.
+ * darwin-nat.c: Add includes, improve comments.
+ Rewrite to handle multiple threads and processes.
+ (darwin_resume_to): New function and protype.
+ (darwin_resume, darwin_wait_to, darwin_wait): Ditto.
+ (darwin_kill_inferior): Add ops argument.
+ (darwin_pid_to_str): New function.
+ (darwin_thread_alive): Ditto.
+ (darwin_inf, darwin_not_port): Removed.
+ (darwin_inf_fake_stop): New variable.
+ (msgin, msgout, msg_state, exc_msg): Removed.
+ (mach_check_error): Use warning instead of error.
+ (darwin_ptrace): Adjust debug level.
+ (cmp_thread_t): Fix names (typo).
+ (darwin_check_new_threads): Argument is now an inferior,
+ adjust for new structures, add no change check, ignore dead ports,
+ handle first thread case.
+ (find_inferior_task_it): New function.
+ (find_inferior_notify_it): Ditto.
+ (darwin_find_inferior_by_task): Ditto.
+ (darwin_find_inferior_by_notify): Ditto.
+ (darwin_find_thread): Ditto.
+ (darwin_suspend_inferior): Ditto.
+ (darwin_resume_inferior): Ditto.
+ (catch_exception_raise_state): Removed.
+ (catch_exception_raise_state_identity): Removed.
+ (darwin_suspend_inferior_it): New function.
+ (darwin_resume_inferior_it): Ditto.
+ (darwin_dump_message): New function, extracted from darwin_wait.
+ (darwin_decode_exception_message): New function.
+ (darwin_encode_reply): New function.
+ (catch_exception_raise): Removed.
+ (darwin_send_reply): New function, extracted from darwin_resume.
+ (darwin_resume_thread): New function, extracted from darwin_resume.
+ (struct resume_inferior_threads_param): New type.
+ (darwin_resume_inferior_threads_it): New function.
+ (darwin_resume_inferior_threads): New function.
+ (darwin_suspend_inferior_threads): New function.
+ (darwin_resume): Mostly rewritten to handle multiple threads and
+ some corner cases.
+ (darwin_decode_message): New function extracted from darwin_wait.
+ (cancel_breakpoint): New function.
+ (darwin_wait): Mostly rewritten. Handle multiple threads.
+ (darwin_mourn_inferior): Adjust for per process structures.
+ (darwin_reply_to_all_pending_messages): New function.
+ (darwin_stop_inferior): Adjust for per inferior structures.
+ (darwin_attach_pid): Ditto.
+ (darwin_init_thread_list): Ditto.
+ (darwin_attach): Ditto.
+ (darwin_detach): Ditto.
+ (darwin_files_info): Now empty.
+ (darwin_pid_to_str): Adjust returns string to match one expected by
+ the testsuite.
+ (darwin_read_write_inferior): Rename err variable to match other uses.
+ Adjust debug message. Handle submaps.
+ (darwin_xfer_memory): Adjust for per inferior structures.
+ (set_enable_mach_exceptions): Ditto.
+ (darwin_pid_to_exec_file): New function.
+ (darwin_get_ada_task_ptid): Ditto.
+ (darwin_supports_multi_process): Ditto.
+ (_initialize_darwin_inferior): Remove useless assertion, adjust for
+ per inferior structures. Add new target operations.
+
+2009-06-18 Hui Zhu <teawater@gmail.com>
+ Michael Snyder <msnyder@vmware.com>
+
+ * infrun.c (handle_inferior_event): Improve reverse stepping
+ through function epilogue.
+
+ * infrun.c (handle_inferior_event): Reverse-next through
+ trampoline.
+
+2009-06-18 Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ * dwarf2-frame.c (struct comp_unit): Use bfd_size_type for
+ dwarf_frame_size.
+
+2009-06-17 Tom Tromey <tromey@redhat.com>
+
+ * dwarf2read.c (zlib_decompress_section): Use a cleanup.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * gdbarch.sh (pointer_to_address): Change to type 'm'.
+ (address_to_pointer): Likewise.
+ * gdbarch.c, gdbarch.h: Regenerate.
+
+ * inferior.h (unsigned_pointer_to_address): Add GDBARCH argument.
+ (signed_pointer_to_address): Likewise.
+ (unsigned_address_to_pointer, address_to_signed_pointer): Likewise.
+ * findvar.c (unsigned_pointer_to_address): Likewise.
+ (signed_pointer_to_address): Likewise.
+ (unsigned_address_to_pointer, address_to_signed_pointer): Likewise.
+
+ * avr-tdep.c (avr_address_to_pointer): Likewise.
+ (avr_pointer_to_address): Likewise.
+ * iq2000-tdep.c (iq2000_pointer_to_address): Likewise.
+ (iq2000_address_to_pointer): Likewise.
+ * m32c-tdep.c (m32c_m16c_address_to_pointer): Likewise.
+ (m32c_m16c_pointer_to_address): Likewise.
+ * spu-tdep.c (spu_pointer_to_address): Likewise.
+ * xstormy16-tdep.c (xstormy16_pointer_to_address): Likewise.
+ (xstormy16_address_to_pointer): Likewise.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * printcmd.c (print_scalar_formatted): Always truncate
+ unsigned data types.
+
+ * cli-dump.c (struct callback_data): Change type of load_offset
+ to CORE_ADDR.
+ (restore_binary_file): Update type casts.
+ (restore_command): Parse load_offset as address, not long.
+
+ * utils.c (string_to_core_addr): Do not sign-extend value.
+ * varobj.c (find_frame_addr_in_frame_chain): Truncate frame_base
+ before comparing against requested frame address.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * gdbarch.sh (gcore_bfd_target): New gdbarch callback.
+ * gdbarch.h, gdbarch.c: Regenerate.
+
+ * gcore.c (default_gcore_target): Make return value const.
+ Call gdbarch_gcore_bfd_target if present.
+ (default_gcore_arch, default_gcore_mach): Use target_gdbarch.
+
+ * corelow.c (core_read_description): Call gdbarch_core_read_description
+ on core_gdbarch instead of current_gdbarch.
+
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Install gcore_bfd_target.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * gdbtypes.c (create_string_type): Receive character type as argument.
+ * gdbtypes.h (create_string_type): Add character type argument.
+ * dwarf2read.c (read_tag_string_type): Pass character type to
+ create_string_type.
+
+ * value.h (value_string): Add character type argument.
+ * valops.c (value_string): Add character type argument. Pass it to
+ create_string_type. Do not allocate space in inferior.
+ * valarith.c (value_concat): Pass character type to value_string.
+
+ * value.h (value_typed_string): Rename to ...
+ (value_cstring): ... this.
+ * valops.c (value_typed_string): Rename to ...
+ (value_cstring): ... this.
+ * c-lang.c (evaluate_subexp_c): Update.
+
+ * python/python-value.c (builtin_type_pychar): New define.
+ (convert_value_from_python): Call value_cstring instead
+ of value_from_string.
+ * value.c (value_from_string): Remove.
+ * value.h (value_from_string): Remove.
+
+ * eval.c (evaluate_subexp_standard): Pass character type to
+ value_string. Pass expression architecture to value_nsstring
+ and lookup_child_selector.
+ * objc-lang.h (lookup_objc_class): Add GDBARCH parameter.
+ (lookup_child_selector): Likewise.
+ (value_nsstring): Likewise.
+ * objc-lang.c (lookup_objc_class): Add GDBARCH parameter.
+ Pass character type to value_string..
+ (lookup_child_selector): Likewise.
+ (value_nsstring): Add GDBARCH parameter, use it instead of
+ objfile architecture. Pass architecture to lookup_objc_class
+ and lookup_child_selector. Pass character type to value_string.
+ (end_msglist): Pass architecture to lookup_objc_class.
+ * objc-exp.y: Pass architecture to lookup_objc_class.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * gdbtypes.h (struct language_defn): Add forward declaration.
+ (lookup_typename): Add LANGUAGE and GDBARCH parameters.
+ (lookup_unsigned_typename): Likewise.
+ (lookup_signed_typename): Likewise.
+ * gdbtypes.c (lookup_typename): Add LANGUAGE and GDBARCH parameters.
+ Use them instead of current_language and current_gdbarch.
+ (lookup_unsigned_typename): Add LANGUAGE and GDBARCH parameters.
+ Pass them to lookup_typename.
+ (lookup_signed_typename): Likewise.
+
+ * c-exp.y: Pass parse_language and parse_gdbarch to
+ lookup_unsigned_typename and lookup_signed_typename.
+ * objc-exp.y: Likewise.
+ * m2-exp.y: Pass parse_language and parse_gdbarch to lookup_typename.
+
+ * c-lang.c (evaluate_subexp_c): Pass expression language and
+ gdbarch to lookup_typename.
+ * printcmd.c (printf_command): Pass current language and
+ gdbarch to lookup_typename.
+ * python/python-type.c (typy_lookup_typename): Likewise.
+ Include "language.h".
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * sparc64-nat.c (sparc64_gregset_supplies_p): Add GDBARCH parameter.
+ Use it instead of current_gdbarch. Pass architecture to
+ sparc32_gregset_supplies_p.
+ (sparc64_fpregset_supplies_p): Add GDBARCH parameter. Use it instead
+ of current_gdbarch. Pass architecture to sparc32_fpregset_supplies_p.
+ * sparc64nbsd-nat.c (sparc64nbsd_gregset_supplies_p,
+ sparc64nbsd_fpregset_supplies_p): Likewise.
+ * sparc-nat.c (sparc_gregset_supplies_p, sparc_fpregset_supplies_p):
+ Add GDBARCH parameter.
+ (sparc32_gregset_supplies_p, sparc32_fpregset_supplies_p): Likewise.
+ (sparc_fetch_inferior_registers): Pass regcache architecture to
+ sparc_gregset_supplies_p and sparc_fpregset_supplies_p.
+ (sparc_store_inferior_registers): Likewise.
+ * sparc-nat.h (sparc_gregset_supplies_p, sparc_fpregset_supplies_p:
+ Add GDBARCH parameter.
+ (sparc32_gregset_supplies_p, sparc32_fpregset_supplies_p): Likewise.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * ada-tasks.c (read_known_tasks_array): Use target_gdbarch instead
+ of current_gdbarch.
+ * aix-thread.c (pd_enable): Likewise.
+ * amd64-linux-nat.c (ps_get_thread_area): Likewise.
+ * bsd-uthread.c (bsd_uthread_activate): Likewise.
+ * linux-nat.c (linux_nat_info_proc_cmd): Likewise.
+ * linux-thread-db.c (enable_thread_event): Likewise.
+ * monitor.c (monitor_write_memory, monitor_read_memory): Likewise.
+ * nto-procfs.c (procfs_open): Likewise.
+ * procfs.c (invalidate_cache, procfs_insert_watchpoint,
+ info_proc_mappings, info_mappings_callback): Likewise.
+ * record.c (record_open): Likewise.
+ * rs6000-nat.c (ARCH64): Likewise.
+ * solib-darwin.c (darwin_solib_create_inferior_hook): Likewise.
+ (darwin_bfd_open): Likewise.
+ * memattr.c (mem_info_command): Likewise.
+
+ * windows-nat.c (win32_resume): Use current regcache architecture
+ instead of current_gdbarch.
+
+ * dbug-rom.c (dbug_regname): Remove check against number of
+ registers in current_gdbarch.
+ * solib-pa64.c (read_dynamic_info): Remove unused variable.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * dummy-frame.c (deprecated_pc_in_call_dummy): Add GDBARCH parameter,
+ use it instead of current_gdbarch.
+ * frame.h (deprecated_pc_in_call_dummy): Add GDBARCH parameter.
+ * arm-tdep.c (arm_skip_prologue): Pass architecture to
+ deprecated_pc_in_call_dummy.
+
+ * symtab.c (skip_prologue_using_sal): Add GDBARCH parameter.
+ Use it instead of current_gdbarch.
+ * symtab.h (skip_prologue_using_sal): Add GDBARCH parameter.
+ * breakpoint.c (expand_line_sal_maybe): Pass architecture to
+ skip_prologue_using_sal.
+ * arm-tdep.c (skip_prologue_using_sal): Likewise.
+ * lm32-tdep.c (lm32_skip_prologue): Likewise.
+ * m32-tdep.c (m32c_skip_prologue): Likewise.
+ * mips-tdep.c (mips_skip_prologue): Likewise.
+ * moxie-tdep.c (moxie_skip_prologue): Likewise.
+ * mt-tdep.c (mt_frame_unwind_cache): Likewise.
+ * rs6000-tdep.c (rs6000_skip_prologue): Likewise.
+ * frv-tdep.c (frv_analyze_prologue): Add GDBARCH parameter, pass
+ it to skip_prologue_using_sal. Update call sites ...
+ (frv_skip_prologue, frv_frame_unwind_cache): ... here.
+
+ * mn10300-tdep.c (struct mn10300_prologue): Add GDBARCH member.
+ (check_for_saved): Use it instead of current_gdbarch.
+ (mn10300_analyze_prologue): Set it.
+
+ * value.c (using_struct_return): Add GDBARCH parameter. Use it
+ instead of current_gdbarch.
+ * value.h (using_struct_return): Add GDBARCH parameter.
+ * eval.c (evaluate_subexp_standard): Pass architecture to
+ using_struct_return.
+ * infcall.c (call_function_by_hand): Likewise.
+ * stack.c (return_command): Likewise.
+ * sparc-tdep.c (sparc32_push_dummy_code): Likewise.
+
+ * symtab.c (in_prologue): Add GDBARCH parameter. Use it instead of
+ current_gdbarch.
+ * symtab.h (in_prologue): Add GDBARCH parameter.
+ * infrun.c (handle_inferior_event): Pass architecture to in_prologue.
+
+ * eval.c (evaluate_subexp_standard): Use expression architecture
+ instead of current_gdbarch.
+
+ * c-lang.c (evaluate_subexp_c): Use expression architecture and
+ language instead of current_gdbarch and current_language.
+
+ * printcmd.c (do_one_display): Use expression architecture instead
+ of current_gdbarch.
+
+ * infcmd.c (print_return_value): Use architecture of stop_regcache
+ instead of current_gdbarch.
+ (print_vector_info, print_float_info): Remove GDBARCH argument,
+ use frame architecture instead.
+ (vector_info, float_info): Update calls.
+
+ * objc-lang.c (objc_skip_trampoline): Use frame architecture
+ instead of current_gdbarch.
+
+ * parse.c (write_dollar_variable): Use parse architecture instead
+ of current_gdbarch.
+
+ * source.c (line_info): Use objfile architecture instead of
+ current_gdbarch.
+
+ * symtab.c (find_function_start_sal): Use gdbarch instead of
+ current_gdbarch.
+ (print_msymbol_info): Use objfile architecture instead of
+ current_gdbarch.
+
+ * valops.c (value_assign): Use frame architecture instead of
+ current_gdbarch.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * buildsym.c (record_line): Remove call to gdbarch_addr_bits_remove.
+
+ * coffread.c (coff_symtab_read): Call gdbarch_addr_bits_remove before
+ calling record_line.
+ (enter_linenos): Likewise.
+ * dbxread.c (process_one_symbol): Likewise.
+ * dwarf2read.c (dwarf_decode_lines): Likewise.
+ * mdebugread.c (psymtab_to_symtab_1): Likewise.
+ * xcoffread.c (enter_line_range): Likewise.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * ax-gdb.c (gen_bitfield_ref): Add EXP argument, use expression
+ architecture instead of current_gdbarch.
+ (gen_struct_ref): Add EXP argument, pass to get_bitfield_ref.
+ (gen_expr): Pass expression to get_struct_ref.
+
+ * symtab.h (struct symbol_ops): Add GDBARCH parameter to
+ tracepoint_var_ref callback.
+ * ax-gdb.c (gen_var_ref): Pass architecture to tracepoint_var_ref
+ symbol operation callback.
+ * dwarf2loc.c (dwarf2_tracepoint_var_ref): Add GDBARCH parameter.
+ Use it instead of current_gdbarch.
+ (locexpr_tracepoint_var_ref): Add GDBARCH parameter. Pass it to
+ dwarf2_tracepoint_var_ref.
+ (loclist_tracepoint_var_ref): Likewise.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * prologue-value.c (make_pv_area): Add ADDR_BIT argument.
+ Use it instead of address bits of current_gdbarch.
+ * prologue-value.c (make_pv_area): Add ADDR_BIT argument.
+ * arm-tdep.c (thumb_analyze_prologue): Pass address bits to
+ make_pv_area.
+ (arm_scan_prologue): Likewise.
+ * m32c-tdep.c (m32c_analyze_prologue): Likewise.
+ * mep-tdep.c (mep_analyze_prologue): Likewise.
+ * mn10300-tdep.c (mn10300_analyze_prologue): Likewise.
+ * s390-tdep.c (s390_analyze_prologue): Likewise.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * mi/mi-main.c (mi_cmd_data_list_register_names): Use selected
+ frame architecture instead of current_gdbarch.
+ (mi_cmd_data_list_changed_registers): Likewise.
+ (mi_cmd_data_list_register_values): Likewise. Pass selected
+ frame to get_register.
+ (get_register): Add FRAME argument, use it as frame to retrieve
+ registers from (instead of selected frame). Use frame architecture
+ instead of current_gdbarch.
+ (mi_cmd_data_write_register_values): Use current regcache
+ architecture instead of current_gdbarch.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * tui/tui-regs.c (tui_show_register_group): Remove GDBARCH parameter;
+ use frame architecture instead. Replace current_gdbarch uses.
+ (tui_show_registers): Update call.
+ (tui_get_register): Remove GDBARCH parameter; use frame architecture
+ instead.
+ (tui_show_register_group): Update call.
+ (tui_check_register_values): Likewise.
+ (tui_register_format): Remove GDBARCH parameter; use frame
+ architecture instead. Replace current_gdbarch uses.
+ (tui_get_register): Update call.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * gdbarch.sh (construct_inferior_arguments): Remove.
+ * gdbarch.c, gdbarch.h: Regenerate.
+ * infcmd.c (get_inferior_args): Call construct_inferior_arguments
+ directly instead of gdbarch_construct_inferior_arguments.
+ (construct_inferior_arguments): Remove GDBARCH argument.
+ * inferior.h (construct_inferior_arguments): Likewise.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * symfile.c (section_is_mapped): Use objfile architecture instead
+ of current_gdbarch.
+ (TARGET_LONG_BYTES): Remove.
+ (read_target_long_array): Add SIZE argument. Use it instead of
+ TARGET_LONG_BYTES.
+ (simple_read_overlay_table): Retrieve long size from objfile
+ architecture; pass it to read_target_long_array.
+ (simple_read_overlay_region_table): Likewise.
+ (simple_overlay_update_1): Likewise.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * infrun.c (cleanup_displaced_step_closure): Remove.
+ (displaced_step_clear_cleanup): Move to before displaced_step_prepare.
+ (displaced_step_prepare): Use displaced_step_clear_cleanup instead
+ of cleanup_displaced_step_closure.
+ (handle_inferior_event, keep_going): Use thread architecture instead
+ of current_gdbarch.
+
+2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * infrun.c (handle_inferior_event): Use current frame architecture
+ or thread architecture instead of current_gdbarch. Pass to
+ handle_step_into_function and handle_step_into_function_backward.
+ (handle_step_into_function): Add GDBARCH parameter. Use it instead
+ of current_gdbarch.
+ (handle_step_into_function_backward): Likewise.
+ (insert_step_resume_breakpoint_at_frame): Use frame architecture
+ instead of current_gdbarch.
+ (insert_step_resume_breakpoint_at_caller): Likewise.
+
+2009-06-17 Pierre Muller <muller@ics.u-strasbg.fr>
+ Pedro Alves <pedro@codesourcery.com>
+
+ * infcmd.c (post_create_inferior): Call breakpoint_re_set after target
+ is pushed for watchpoint promotion to hardware watchpoint.
+
2009-06-16 Paul Pluzhnikov <ppluzhnikov@google.com>
* dwarf2read.c (dwarf_info_section, dwarf_abbrev_section)