+2008-05-11 David S. Miller <davem@davemloft.net>
+
+ * sparc-linux-tdep.c, sparc64-linux-tdep.c: Use
+ dwarf2_append_unwinders(), not dwarf2_frame_sniffer.
+
+2008-05-11 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * rs6000-tdep.c (rs6000_gdbarch_init): Set up info.target_desc
+ and info.tdep_info before calling gdbarch_init_osabi.
+
+2008-05-09 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c (ada_evaluate_subexp) [BINOP_ASSIGN]: Do not force
+ the type of the right hand side of the assignment to the type
+ of the left hand side if the left hand side is a convenience
+ variable.
+
+2008-05-09 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * NEWS: Mention gdbserver bi-arch capability.
+
+2008-05-09 Doug Evans <dje@google.com>
+
+ New "find" command.
+ * NEWS: Document find command and qSearch:memory packet.
+ * Makefile.in (SFILES): Add findcmd.c.
+ (COMMON_OBJS): Add findcmd.o.
+ (findcmd.o): New rule.
+ * findcmd.c: New file.
+ * target.h (target_ops): New member to_search_memory.
+ (simple_search_memory): Declare.
+ (target_search_memory): Declare.
+ * target.c (simple_search_memory): New fn.
+ (target_search_memory): New fn.
+ * remote.c (PACKET_qSearch_memory): New packet kind.
+ (remote_search_memory): New fn.
+ (init_remote_ops): Init to_search_memory.
+ (init_extended_remote_ops): Ditto.
+ (_initialize_remote): Add qSearch:memory packet config command.
+
+2008-05-09 Eli Zaretskii <eliz@gnu.org>
+
+ * thread.c (_initialize_thread): Don't use commas and periods in
+ first line of doc string of "set/show print thread-events".
+
+2008-05-08 Joel Brobecker <brobecker@adacore.com>
+
+ * alpha-mdebug-tdep.c, alpha-osf1-tdep.c, alpha-tdep.c:
+ Update for unwinder changes.
+
+2008-05-08 Joel Brobecker <brobecker@adacore.com>
+
+ * frame.c (get_frame_base_address, get_frame_locals_address)
+ (get_frame_args_address): Pass the correct frame when calling
+ frame_base_find_by_frame.
+
+2008-05-08 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * remote.c (extended_remote_attach_1): Call target_find_description.
+
+2008-05-08 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * remote.c (extended_remote_create_inferior_1): Clean up
+ before marking the target running.
+
+2008-05-08 Joel Brobecker <brobecker@adacore.com>
+
+ * hppa-tdep.h, hppa-tdep.c, hppa-hpux-tdep.c: Update for unwinder
+ changes.
+
+2008-05-07 Joel Brobecker <brobecker@adacore.com>
+
+ * sparc-tdep.c, sparc-tdep.h, sparc-sol2-tdep.c, sparc64-tdep.c,
+ sparc64-sol2-tdep.c: Update for unwinder changes.
+
+2008-05-07 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * cp-support.c (mangled_name_to_comp): Initialize storage.
+ (unqualified_name_from_comp): Likewise.
+
+2008-05-07 Jie Zhang <jie.zhang@analog.com>
+
+ * remote.c (remote_insert_breakpoint): Call get_remote_state
+ after gdbarch_breakpoint_from_pc is called.
+ (remote_insert_hw_breakpoint): Likewise.
+
+2008-05-06 Joel Brobecker <brobecker@adacore.com>
+
+ * valprint.c (val_print): Add new language parameter and use it
+ instead of using the current_language. Update calls to val_print
+ throughout.
+ (common_val_print): Add new langauge parameter and pass it to
+ val_print.
+ * value.h (struct language_defn): Add opaque declaration.
+ (val_print, common_val_print): Update declarations.
+ * stack.c (print_frame_args): Update call to common_val_print
+ using the appropriate language.
+ * mi/mi-cmd-stack.c (list_args_or_locals): Likewise.
+ * c-valprint, f-valprint.c, m2-valprint.c, mt-tdep.c, infcmd.c,
+ mi/mi-main.c, jv-valprint.c, ada-valprint.c, varobj.c, p-valprint.c,
+ scm-valprint.c, cp-valprint.c, sh64-tdep.c, printcmd.c:
+ #include "language.h" if necessary.
+ Update calls to val_print and common_val_print.
+ * Makefile.in (mt-tdep.o, sh64-tdep.o, mi-cmds.o, mi-main.o):
+ Update dependencies.
+
+2008-05-06 Joel Brobecker <brobecker@adacore.com>
+
+ * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Treat addresses
+ pointing inside a non-executable section as function descriptors.
+
+2008-05-06 Pedro Alves <pedro@codesourcery.com>
+
+ * inf-loop.c (inferior_event_handler): Run all continuations and
+ print any language change before running the breakpoint commands.
+
+2008-05-06 Joel Brobecker <brobecker@adacore.com>
+
+ * frame-unwind.c (frame_unwind_got_bytes): New function.
+ * frame-unwind.h (frame_unwind_got_bytes): Add declaration.
+ * libunwind-frame.h, libunwind-frame.c, ia64-tdep.c: Update
+ for unwinder changes.
+
+2008-05-05 Doug Evans <dje@google.com>
+
+ * NEWS: Mention new /m modifier for disassemble command.
+ * cli/cli-cmds.c (print_disassembly): New function.
+ (disassemble_current_function): New function
+ (disassemble_command): Recognize /m modifier, print mixed
+ source+assembly.
+ (init_cli_cmds): Update disassemble help text.
+
+2008-05-05 Maxim Grigoriev <maxim2405@gmail.com>
+
+ * xtensa-tdep.c: Update for unwinder changes.
+
+2008-05-05 Andreas Schwab <schwab@suse.de>
+
+ Update m68k port for unwinder changes.
+ * m68k-tdep.c (m68k_frame_cache): Expect this_frame.
+ (m68k_frame_this_id, m68k_frame_prev_register): Update signature.
+ (m68k_frame_unwind): Use default_frame_sniffer.
+ (m68k_frame_sniffer): Remove.
+ (m68k_frame_base_address): Expect this_frame.
+ (m68k_dummy_id): Renamed from m68k_unwind_dummy_id. Expect
+ this_frame.
+ (m68k_gdbarch_init): Use set_gdbarch_dummy_id,
+ dwarf2_append_unwinders, and frame_unwind_append_unwinder.
+ * m68klinux-tdep.c (m68k_linux_pc_in_sigtramp): Expect frame_info
+ parameter instead of pc value.
+ (m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache):
+ Expect this_frame.
+ (m68k_linux_sigtramp_frame_this_id)
+ (m68k_linux_sigtramp_frame_prev_register)
+ (m68k_linux_sigtramp_frame_sniffer): Update signature.
+ (m68k_linux_sigtramp_frame_unwind): Use
+ m68k_linux_sigtramp_frame_sniffer.
+ (m68k_linux_init_abi): Use frame_unwind_append_unwinder.
+
+ * m68klinux-nat.c (store_register): Fix typo.
+
+2008-05-05 Pedro Alves <pedro@codesourcery.com>
+
+ * infcmd.c (step_1): Put thread id on the stack to avoid possible
+ NULL dereferencing.
+
+2008-05-05 Luis Machado <luisgpm@br.ibm.com>
+
+ * symfile.c (reread_symbols): Update objfile's entry point.
+
+2008-05-05 Aleksandar Ristovski <aristovski@qnx.com>
+ Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c: Update throughout to use symbol_matches_domain
+ instead of matching the symbol domain explictly.
+ * dwarf2read.c (add_partial_symbol): Do not add new psym for
+ STRUCT_DOMAIN. Make sure you recognize c++ struct and java and ada
+ class as typedefs. See lookup_partial_symbol function.
+ (new_symbol): Similar to add_partial_symbol, do not create
+ symbol for the typedef. See lookup_block_symbol.
+ * symtab.c (symbol_matches_domain): New function, takes care
+ of dual meaning of STRUCT_DOMAIN symbol for c++, ada and java.
+ (lookup_partial_symbol): Use symbol_matches_domain to see if the
+ found psym domain matches the given domain.
+ (lookup_block_symbol): Likewise.
+
+2008-05-05 Vladimir Prus <vladimir@codesourcery.com>
+
+ * top.c (command_line_handler_continuation): Remove.
+ (execute_command): Do not install the above.
+
+2008-05-05 Vladimir Prus <vladimir@codesourcery.com>
+
+ * inf-loop.c (inferior_event_handler): Call bpstat_do_action,
+ and catch all exceptions from it.
+ * top.c (command_line_handler_continuation): Don't
+ call bpstat_do_action here.
+
+2008-05-04 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * dwarf2read.c (struct dwarf2_cu): Add type_hash.
+ (struct die_info): Remove type.
+ (read_type_die, read_typedef, read_base_type, read_subrange_type)
+ (read_structure_type, read_enumeration_type, read_array_type)
+ (read_tag_pointer_type, read_tag_ptr_to_member_type)
+ (read_tag_reference_type, read_tag_const_type, read_tag_volatile_type)
+ (read_tag_string_type, read_subroutine_type, read_set_type)
+ (read_unspecified_type): Delete prototypes. Remove check for
+ already-loaded type. Return the new type.
+ (set_die_type): Return the new type.
+ (reset_die_and_siblings_types): Delete.
+ (load_comp_unit, load_full_comp_unit): Set type_hash.
+ (process_queue): Remove call to reset_die_and_siblings_types.
+ (process_die): Do not read most types here. Use read_type_die
+ for others.
+ (read_func_scope, dwarf2_add_member_fn): Use read_type_die.
+ (quirk_gcc_member_function_pointer): Return the new type.
+ (process_structure_scope, process_enumeration_scope): Use
+ get_die_type and read the DIE's type.
+ (read_full_die): Do not initialize die->type.
+ (tag_type_to_type): Use read_type_die.
+ (read_type_die): Check for already defined types. Return the
+ type.
+ (determine_prefix): Use get_die_type.
+ (set_die_type): Return the type.
+ (get_die_type): Take a CU argument. Check for no type_hash.
+
+2008-05-04 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * dwarf2read.c (dwarf2_ranges_read, read_partial_die): Initialize
+ locals.
+
+2008-05-04 Pedro Alves <pedro@codesourcery.com>
+
+ * breakpoint.c (update_breakpoints_after_exec): Delete bp_longjmp
+ and bp_longjmp_resume breakpoints.
+ (breakpoint_address_is_meaningful): Claim bp_longjmp_resume as
+ meaningful.
+ (create_longjmp_breakpoint): Don't create bp_longjmp_resume
+ breakpoints. Create bp_longjmp breakpoints as momentary
+ breakpoints.
+ (enable_longjmp_breakpoint): Delete.
+ (set_longjmp_breakpoint): New.
+ (disable_longjmp_breakpoint): Delete.
+ (delete_longjmp_breakpoint): New.
+ (set_longjmp_resume_breakpoint): Delete.
+ (set_momentary_breakpoint_at_pc): New.
+ (breakpoint_re_set_one): Don't delete bp_longjmp and
+ bp_longjmp_resume breakpoints.
+ (breakpoint_re_set): Don't create longjmp and longjmp-resume
+ breakpoints.
+
+ * infrun.c (step_resume_breakpoint): Add comment.
+ (struct execution_control_state): Delete handling_longjmp member.
+ (init_execution_control_state). Don't clear handling_longjmp.
+ (context_switch): Don't context switch handling_longjmp.
+ (handle_inferior_event): If handling a bp_longjmp breakpoint,
+ create a bp_longjmp_resume breakpoint, and set it as current
+ step_resume_breakpoint, then step over the longjmp breakpoint. If
+ handling a bp_longjmp_resume breakpoint, don't delete the longjmp
+ breakpoint, delete the longjmp-resume breakpoint, and stop
+ stepping.
+ (currently_stepping): Remove handling_longjmp from expression.
+ (insert_step_resume_breakpoint_at_sal): Update comment.
+ (insert_longjmp_resume_breakpoint): New.
+
+ * breakpoint.h (set_momentary_breakpoint_at_pc): Declare.
+ (enable_longjmp_breakpoint, disable_longjmp_breakpoint): Delete
+ declarations.
+ (set_longjmp_breakpoint, delete_longjmp_breakpoint): Declare.
+ (set_longjmp_resume_breakpoint): Delete declaration.
+
+ * gdbthread.h (save_infrun_state): Remove handling_longjmp
+ parameter.
+ (load_infrun_state): Delete *handling_longjmp parameter.
+ * thread.c (save_infrun_state): Remove handling_longjmp parameter.
+ Update body.
+ (load_infrun_state): Delete *handling_longjmp parameter. Update
+ body.
+
+ * infcmd.c (disable_longjmp_breakpoint_cleanup): Delete.
+ (delete_longjmp_breakpoint_cleanup): New.
+ (step_1): Call set_longjmp_breakpoint instead of
+ enable_longjmp_breakpoint. Use delete_longjmp_breakpoint_cleanup
+ instead of disable_longjmp_breakpoint_cleanup when making cleanup.
+ (step_1_continuation): Pass thread id in the continuation args to
+ step_once.
+ (step_once): Add thread parameter. Pass thread id the the
+ continuation.
+
+2008-05-04 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Set CU BASE_ADDRESS already from partial DIEs.
+ * dwarf2read.c (read_partial_die): New variables BASE_ADDRESS and
+ BASE_ADDRESS_TYPE. Set these variables from DW_AT_LOW_PC and
+ DW_AT_ENTRY_PC. Set CU->HEADER.BASE_KNOWN and CU->HEADER.BASE_ADDRESS
+ from these variables if it was still unset.
+
+ * Makefile.in: Update dependencies.
+ * dwarf2read.c: Include "addrmap.h"
+ (struct dwarf2_cu): New fields RANGES_OFFSET and HAS_RANGES_OFFSET.
+ (dwarf2_ranges_read): New prototype.
+ (dwarf2_build_psymtabs_hard): Initialize and prepare PSYMTABS_ADDRMAP.
+ Add discontiguous range to PSYMTABS_ADDRMAP by DWARF2_RANGES_READ on
+ HAS_RANGES_OFFSET, otherwise add there the contiguous range.
+ (dwarf2_ranges_read): New parameter RANGES_PST, update the function
+ comment for it. Add the found ranges to RANGES_PST. New variable
+ BASEADDR, initialize it the common way.
+ (dwarf2_get_pc_bounds): Update the caller for the new parameter.
+ (read_partial_die): `DW_AT_ranges' now only sets RANGES_OFFSET and
+ HAS_RANGES_OFFSET for the later processing.
+ * objfiles.h (struct objfile): New field PSYMTABS_ADDRMAP.
+ * symtab.c: Include "addrmap.h"
+ (find_pc_sect_psymtab): Support reading the field PSYMTABS_ADDRMAP.
+ Move the psymtab locator into ...
+ (find_pc_sect_psymtab_closer): ... a new function.
+
+2008-05-04 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * arch-utils.c (gdbarch_update_p): Use default values for
+ info.abfd and info.target_desc if they are NULL.
+ (gdbarch_from_bfd): Remove assertion.
+ (set_gdbarch_from_file): Call gdbarch_find_by_info directly,
+ using the current target description.
+ (gdbarch_info_fill): Do not use default values for info->abfd
+ and info->target_desc.
+
+2008-05-04 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * symfile.c (reread_symbols): Reload EXEC_BFD on its change.
+
+2008-05-04 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * inferior.h (read_pc_pid, write_pc_pid): Remove.
+ * regcache.h (regcache_read_pc, regcache_write_pc): Add prototypes.
+
+ * regcache.c (read_pc_pid): Remove, replace by ...
+ (regcache_read_pc): ... this function.
+ (write_pc_pid): Remove, replace by ...
+ (regcache_write_pc): ... this function.
+ (read_pc, write_pc): Update.
+
+ * infrun.c (displaced_step_prepare): Replace read_pc_pid and
+ write_pc_pid by regcache_read_pc and regcache_write_pc.
+ (displaced_step_fixup): Likewise.
+ (resume): Likewise. Use regcache arch instead of current_gdbarch.
+ (prepare_to_proceed): Likewise.
+ (proceed): Likewise.
+ (adjust_pc_after_break): Likewise.
+ (handle_inferior_event): Likewise.
+
+ * linux-nat.c (cancel_breakpoint): Likewise.
+ * linux-thread-db.c (check_event): Likewise.
+ * aix-thread.c (aix_thread_wait): Likewise.
+ * tracepoint.c (trace_dump_command): Likewise.
+
+2008-05-04 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * dwarf2loc.c (dwarf_expr_frame_base): Error out on missing
+ SYMBOL_LOCATION_BATON.
+
+2008-05-04 Vladimir Prus <vladimir@codesourcery.com>
+
+ * target.h (struct target_ops): New field to_auxv_parse.
+ * auxv.c (default_auxv_parse): New, renamed from previous
+ target_auxv_parse.
+ (target_auxv_parse): Try to call target method. Fallback to
+ default_auxv_parse if not found.
+ * procfs.c (procfs_auxv_parse): New.
+ (init_procfs_ops): On Solaris, in 64-bit mode, install
+ procfs_auxv_parse.
+
+2008-05-03 Adam Nemet <anemet@caviumnetworks.com>
+
+ * symfile.c (add_symbol_file_command): Use paddress rather than
+ hex_string to print the address.
+
+2008-05-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * rs6000-tdep.c (rs6000_frame_this_id): If info->base is 0,
+ return the null frame ID to terminate the backtrace.
+
+2008-05-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * rs6000-tdep.c: Do not include "rs6000-tdep.h".
+ (rs6000_find_toc_address_hook): Move to rs6000-aix-tdep.c.
+ (SIG_FRAME_PC_OFFSET): Likewise.
+ (SIG_FRAME_LR_OFFSET): Likewise.
+ (SIG_FRAME_FP_OFFSET): Likewise.
+ (rs6000_push_dummy_call): Likewise.
+ (rs6000_return_value): Likewise.
+ (rs6000_convert_from_func_ptr_addr): Likewise.
+ (branch_dest, rs6000_software_single_step): Likewise.
+ (deal_with_atomic_sequence): Rename to ...
+ (ppc_deal_with_atomic_sequence): ... this. Adapt all callers.
+ Do not call branch_dest; inline required parts of that function.
+ (rs6000_skip_trampoline_code): Replace DEPRECATED_SYMBOL_NAME
+ with SYMBOL_LINKAGE_NAME.
+ (struct reg, regsize): Delete.
+ (read_memory_addr): Delete; inline into callers.
+ (rs6000_skip_prologue): Move after skip_prologue.
+ (skip_prologue): Remove prototype.
+ (rs6000_gdbarch_init): Remove sysv_abi variable; perform all
+ initialization as if this variable were true. Do not install
+ ppc64_sysv_abi_adjust_breakpoint_address.
+
+ * rs6000-aix-tdep.c: Include "gdb_assert.h", "gdbtypes.h",
+ "gdbcore.h", "target.h", "value.h", "infcall.h", "objfiles.h",
+ and "breakpoint.h".
+ (rs6000_find_toc_address_hook): Move here from rs6000-tdep.c.
+ (SIG_FRAME_PC_OFFSET): Likewise.
+ (SIG_FRAME_LR_OFFSET): Likewise.
+ (SIG_FRAME_FP_OFFSET): Likewise.
+ (rs6000_push_dummy_call): Likewise.
+ (rs6000_return_value): Likewise.
+ (rs6000_convert_from_func_ptr_addr): Likewise.
+ (branch_dest, rs6000_software_single_step): Likewise. Replace
+ tdep->text_segment_base by AIX_TEXT_SEGMENT_BASE.
+ (rs6000_aix_init_osabi): Install rs6000_push_dummy_call,
+ rs6000_return_value, and rs6000_convert_from_func_ptr_addr.
+ Call set_gdbarch_long_double_bit and set_gdbarch_frame_red_zone_size.
+ Set tdep->lr_frame_offset. Do not set tdep->text_segment_base.
+
+ * rs6000-tdep.h (rs6000_software_single_step): Remove prototype.
+ (AIX_TEXT_SEGMENT_BASE): New macro.
+ * rs6000-nat.c (exec_one_dummy_insn): Replace tdep->text_segment_base
+ by AIX_TEXT_SEGMENT_BASE.
+
+ * ppc-tdep.h (ppc_deal_with_atomic_sequence): Add prototype.
+ (struct gdbarch_tdep): Remove text_segment_base member.
+ * ppc-linux-tdep.c (ppc_linux_init_abi): On 64-bit, install
+ ppc64_sysv_abi_adjust_breakpoint_address.
+
+ * Makefile.in (rs6000-tdep.o): Update dependencies.
+ (rs6000-aix-tdep.o): Likewise.
+
+2008-05-03 Luis Machado <luisgpm@br.ibm.com>
+ Thiago Jung Bauermann <bauerman@br.ibm.com>
+
+ * cli/cli-decode.c (lookup_cmd_1): Fix indentation.
+ * doublest.c (convert_typed_floating): Fix typo in comment.
+ * dwarf2-frame.c (dwarf2_frame_cache): Likewise.
+ * frame-unwind.h (frame_sniffer_ftype): Likewise.
+ * frame.c (frame_unwind_address_in_block): Likewise.
+ * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Likewise.
+ * symtab.h (struct symbol): Likewise.
+ * tramp-frame.h (struct trad_frame_cache): Likewise.
+ * value.c (allocate_repeat_value): Likewise.
+
+2008-05-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * infrun.c (handle_inferior_event): Do not insert breakpoints at
+ TARGET_WAITKIND_LOADED events during startup (i.e. in the shell).
+
+2008-05-03 Pedro Alves <pedro@codesourcery.com>
+
+ * parse.c (parse_exp_in_context): Don't override
+ expression_context_pc if get_selected_block returned a valid
+ block.
+
+2008-05-03 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * alpha-tdep.h (ALPHA_REGISTER_BYTES): Delete.
+ * arm-tdep.h (STATUS_REGISTER_SIZE): Delete.
+ * breakpoint.c (args_for_catchpoint_enable, current_exception_event):
+ Delete.
+ * c-typeprint.c (c_type_print_base): Delete handling of template
+ instantiations.
+ * cp-support.h (METHOD_PTR_IS_VIRTUAL, METHOD_PTR_FROM_VOFFSET)
+ (METHOD_PTR_TO_VOFFSET): Delete.
+ * defs.h (QUIT_FIXME): Delete.
+ * f-lang.h (DEFAULT_DOTMAIN_NAME_IN_MF77, DEFAULT_MAIN_NAME_IN_MF77)
+ (DEFAULT_DOTMAIN_NAME_IN_XLF_BUGGY, DEFAULT_DOTMAIN_NAME_IN_XLF): Delete.
+ * gdbtypes.h (struct cplus_struct_type): Delete is_inlined,
+ ninstantiations, and instantiations.
+ (TYPE_INSTANTIATIONS, TYPE_NINSTANTIATIONS, TYPE_INSTANTIATION)
+ (TYPE_FN_FIELD_INLINED): Delete.
+ * srec.h (SREC_BINARY): Delete.
+ * symtab.c (symbol_init_demangled_name): Delete.
+ * symtab.h (SYMBOL_INIT_DEMANGLED_NAME, symbol_init_demangled_name)
+ (SYMBOL_OBJFILE, struct exception_event_record, CURRENT_EXCEPTION_KIND)
+ (CURRENT_EXCEPTION_CATCH_SAL, CURRENT_EXCEPTION_CATCH_LINE)
+ (CURRENT_EXCEPTION_CATCH_FILE, CURRENT_EXCEPTION_CATCH_PC)
+ (CURRENT_EXCEPTION_THROW_SAL, CURRENT_EXCEPTION_THROW_LINE)
+ (CURRENT_EXCEPTION_THROW_FILE, CURRENT_EXCEPTION_THROW_PC): Delete.
+ * target.h (enum thread_control_capabilities): Delete tc_switch.
+ (target_can_switch_threads): Delete.
+
+2008-05-03 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * Makefile.in (objfiles.o): Update.
+ * exec.c (exec_set_section_address): Support p->addr != 0.
+ * objfiles.c (objfile_relocate): Update exec_ops section
+ addresses.
+ * symfile.c (place_section): Move exec_set_section_address call...
+ (default_symfile_offsets): ...to here.
+
+2008-05-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * Makefile.in (ppc_linux_tdep_h): New macro.
+ (powerpc_32l_c, powerpc_altivec32_c, powerpc_altivec32l_c): Likewise.
+ (powerpc_64l_c, powerpc_altivec64_c, powerpc_altivec64l_c): Likewise.
+ (powerpc_e500l_c): Likewise.
+ (ppc-linux-nat.o): Update dependencies.
+ (ppc-linux-tdep.o): Update dependencies.
+ (rs6000-tdep.o): Update dependencies.
+
+ * ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Remove.
+ (ppc_linux_svr4_fetch_link_map_offsets): Remove.
+ (ppc_linux_gregset, ppc_linux_fpregset): Move to ppc-linux-tdep.h
+ (ppc_supply_reg, ppc_collect_reg): Add prototypes.
+ (tdesc_powerpc_e500): Remove.
+
+ * rs6000.c: Include "features/rs6000/powerpc-altivec32.c"
+ and "features/rs6000/powerpc-altivec64.c".
+ (ppc_supply_reg, ppc_collect_reg): Make global.
+ (variants): Use tdesc_powerpc_32 for "powerpc" and
+ tdesc_powerpc_altivec64 for "powerpc64".
+ (_initialize_rs6000_tdep): Initialize AltiVec descriptions.
+
+ * ppc-linux-tdep.h: New file.
+
+ * ppc-linux-tdep.c: Include "ppc-linux-tdep.c".
+ Include "features/rs6000/powerpc-32l.c".
+ Include "features/rs6000/powerpc-altivec32l.c".
+ Include "features/rs6000/powerpc-64l.c".
+ Include "features/rs6000/powerpc-altivec64l.c".
+ Include "features/rs6000/powerpc-e500l.c".
+ (ppc_linux_supply_gregset): New function.
+ (ppc_linux_collect_gregset): Handle orig_r3 and trap registers.
+ (ppc32_linux_gregset): Use ppc_linux_supply_gregset.
+ (ppc64_linux_gregset): Likewise.
+ (ppc_linux_sigtramp_cache): Handle orig_r3 and trap registers.
+ (ppc_linux_trap_reg_p): New function.
+ (ppc_linux_write_pc): New function.
+ (ppc_linux_core_read_description): New function.
+ (ppc_linux_init_abi): Install ppc_linux_write_pc and
+ ppc_linux_core_read_description. Install orig_r3 and trap
+ registers if present in the target description.
+ (_initialize_ppc_linux_tdep): Initialize Linux target descriptions.
+
+ * ppc-linux-nat.c: Include "ppc-linux-tdep.h".
+ (PT_ORIG_R3, PT_TRAP): Define if necessary.
+ (ppc_register_u_addr): Handle orig_r3 and trap registers.
+ (fetch_ppc_registers): Likewise.
+ (store_ppc_registers): Likewise.
+ (store_register): Likewise.
+ (ppc_linux_read_description): Check whether AltiVec is supported.
+ Check whether inferior is 32-bit or 64-bit. Return the appropriate
+ Linux target description.
+
+ * features/Makefile (WHICH): Use rs6000/powerpc-32l and
+ rs6000/powerpc-altivec32l instead of rs6000/powerpc-32.
+ Use rs6000/powerpc-64l and rs6000/powerpc-altivec64l instead
+ of rs6000/powerpc-64. Use rs6000/powerpc-e500l instead of
+ rs6000/powerpc-e500. Update -expedite variables accordingly.
+
+ * features/rs6000/power-spe.xml: Use regnum 73 for "acc".
+ * features/rs6000/powerpc-32.xml: Do not include power-altivec.xml.
+ * features/rs6000/powerpc-64.xml: Do not include power-altivec.xml.
+ * features/rs6000/powerpc-e500.c: Regenerate.
+ * features/rs6000/powerpc-32.c: Regenerate.
+ * features/rs6000/powerpc-64.c: Regenerate.
+
+ * features/rs6000/power-linux.xml: New file.
+ * features/rs6000/power64-linux.xml: New file.
+ * features/rs6000/powerpc-32l.xml: New file.
+ * features/rs6000/powerpc-altivec32l.xml: New file.
+ * features/rs6000/powerpc-64l.xml: New file.
+ * features/rs6000/powerpc-altivec64l.xml: New file.
+ * features/rs6000/powerpc-e500l.xml: New file.
+ * features/rs6000/powerpc-32l.c: New (generated) file.
+ * features/rs6000/powerpc-altivec32l.c: New (generated) file.
+ * features/rs6000/powerpc-64l.c: New (generated) file.
+ * features/rs6000/powerpc-altivec64l.c: New (generated) file.
+ * features/rs6000/powerpc-e500l.xml: New (generated) file.
+
+ * regformats/reg-ppc.dat: Remove.
+ * regformats/reg-ppc64.dat: Remove.
+ * regformats/rs6000/powerpc-32.dat: Remove.
+ * regformats/rs6000/powerpc-64.dat: Remove.
+ * regformats/rs6000/powerpc-e500.dat: Remove.
+ * regformats/rs6000/powerpc-32l.dat: New (generated) file.
+ * regformats/rs6000/powerpc-altivec32l.dat: New (generated) file.
+ * regformats/rs6000/powerpc-64l.dat: New (generated) file.
+ * regformats/rs6000/powerpc-altivec64l.dat: New (generated) file.
+ * regformats/rs6000/powerpc-e500l.dat: New (generated) file.
+
+2008-05-03 Pedro Alves <pedro@codesourcery.com>
+
+ * thread.c (delete_thread): Call observer_notify_thread_exit.
+ * mi/mi-interp.c (mi_interpreter_init): Register mi_thread_exit as
+ thread_exit observer.
+ (mi_thread_exit): New.
+
+2008-05-03 Thiago Jung Bauermann <bauerman@br.ibm.com>
+
+ * breakpoint.c (create_exception_catchpoint): Remove prototype
+ for already deleted function.
+ * breakpoint.h (ep_is_exception_catchpoint): Likewise.
+ * frame.h (show_stack_frame): Remove prototype.
+ * stack.c (show_stack_frame): Remove empty, unused function.
+ * source.c (symtab_to_fullname, print_source_lines): Small fix
+ in comment.
+ * value.c (show_values): Update comments to mention "show values"
+ command instead of "info history".
+
+2008-05-02 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * linespec.c: Include "target.h".
+ (minsym_found): Handle minimal symbols pointing to function
+ descriptors. Use find_function_start_pc.
+ * minsyms.c (msymbol_objfile): New function.
+ * parse.c (write_exp_msymbol): Handle minimal symbols pointing
+ to function descriptors.
+ * symtab.c (fixup_section): Only use minimal symbol at the same
+ address to determine section of a symbol.
+ (find_function_start_pc): New function.
+ (find_function_start_sal): Use it.
+ * symtab.h (msymbol_objfile): Add prototype.
+ (find_function_start_pc): Likewise.
+ * value.c: Include "objfiles.h".
+ (value_fn_field): Handle minimal symbols pointing to function
+ descriptors.
+ * Makefile.in (linespec.o): Update dependencies.
+ (value.o): Likewise.
+
+2008-05-02 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c (unwrap_value): Handle the case where the "F" field
+ inside a PAD type is a bitfield.
+
+2008-05-02 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Handle
+ TYPE_CODE_BOOL and TYPE_CODE_CHAR the same as TYPE_CODE_INT.
+ Handle TYPE_CODE_REF the same as TYPE_CODE_PTR.
+ Handle TYPE_CODE_METHOD the same as TYPE_CODE_FUNC.
+ Allow typedefs when checking for function pointer arguments.
+ Right-align small structs passed on the stack.
+ (ppc64_sysv_abi_return_value): Handle TYPE_CODE_BOOL and
+ TYPE_CODE_CHAR the same as TYPE_CODE_INT.
+ Handle TYPE_CODE_REF the same as TYPE_CODE_PTR.
+
+2008-05-02 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * Makefile.in (arm-tdep.o): Update.
+ * arm-tdep.c (arm_objfile_data_key, struct arm_mapping_symbol)
+ (struct arm_per_objfile, arm_compare_mapping_symbols): New.
+ (arm_pc_is_thumb): Use mapping symbols.
+ (arm_objfile_data_cleanup, arm_record_special_symbol): New.
+ (arm_gdbarch_init): Call set_gdbarch_record_special_symbol.
+ (_initialize_arm_tdep): Initialize arm_objfile_data_key.
+ * elfread.c (elf_symtab_read): Use gdbarch_record_special_symbol.
+ * gdbarch.sh: Add record_special_symbol.
+ * gdbarch.c, gdbarch.h: Regenerated.
+ * objfiles.c (struct objfile_data): Add cleanup member.
+ (register_objfile_data_with_cleanup): New function, from
+ register_objfile_data.
+ (register_objfile_data): Use it.
+ (objfile_free_data): Call clear_objfile_data.
+ (clear_objfile_data): Call cleanup functions.
+ * objfiles.h (register_objfile_data_with_cleanup): Declare.
+
+2008-05-02 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * objfiles.c (init_entry_point_info): Handle shared libraries.
+
+2008-05-02 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * arm-tdep.c (arm_prologue_this_id): Compare pc, not func, to
+ lowest_pc.
+
+2008-05-02 Jim Blandy <jimb@codesourcery.com>
+ Pedro Alves <pedro@codesourcery.com>
+
+ Implement displaced stepping.
+
+ * gdbarch.sh (max_insn_length): New 'variable'.
+ (displaced_step_copy, displaced_step_fixup)
+ (displaced_step_free_closure, displaced_step_location): New
+ functions.
+ (struct displaced_step_closure): Add forward declaration.
+ * gdbarch.c, gdbarch.h: Regenerated.
+
+ * arch-utils.c: #include "objfiles.h".
+ (simple_displaced_step_copy_insn)
+ (simple_displaced_step_free_closure)
+ (displaced_step_at_entry_point): New functions.
+ * arch-utils.h (simple_displaced_step_copy_insn)
+ (simple_displaced_step_free_closure)
+ (displaced_step_at_entry_point): New prototypes.
+
+ * i386-tdep.c (I386_MAX_INSN_LEN): Rename to...
+ (I386_MAX_MATCHED_INSN_LEN): ... this.
+ (i386_absolute_jmp_p, i386_absolute_call_p)
+ (i386_ret_p, i386_call_p, i386_breakpoint_p, i386_syscall_p)
+ (i386_displaced_step_fixup): New functions.
+ (struct i386_insn, i386_match_insn): Update.
+ (i386_gdbarch_init): Set gdbarch_max_insn_length.
+ * i386-tdep.h (I386_MAX_INSN_LEN): New.
+ (i386_displaced_step_fixup): New prototype.
+ * i386-linux-tdep.c (i386_linux_init_abi): Include "arch-utils.h".
+ Register gdbarch_displaced_step_copy,
+ gdbarch_displaced_step_fixup, gdbarch_displaced_step_free_closure,
+ and gdbarch_displaced_step_location functions.
+
+ * infrun.c (debug_displaced): New variable.
+ (show_debug_displaced): New function.
+ (struct displaced_step_request): New struct.
+ (displaced_step_request_queue, displaced_step_ptid)
+ (displaced_step_gdbarch, displaced_step_closure)
+ (displaced_step_original, displaced_step_copy)
+ (displaced_step_saved_copy, can_use_displaced_stepping): New
+ variables.
+ (show_can_use_displaced_stepping, use_displaced_stepping)
+ (displaced_step_clear, cleanup_displaced_step_closure)
+ (displaced_step_dump_bytes, displaced_step_prepare)
+ (displaced_step_clear_cleanup, write_memory_ptid)
+ (displaced_step_fixup): New functions.
+ (resume): Call displaced_step_prepare.
+ (proceed): Call read_pc once, and remember the value. If using
+ displaced stepping, don't remove breakpoints.
+ (handle_inferior_event): Call displaced_step_fixup. Add some
+ debugging output. When we try to step over a breakpoint, but get
+ a signal to deliver to the thread instead, ensure the step-resume
+ breakpoint is actually inserted. If a thread hop is needed, and
+ displaced stepping is enabled, don't remove breakpoints.
+ (init_wait_for_inferior): Call displaced_step_clear.
+ (_initialize_infrun): Add "set debug displaced" command. Add
+ "maint set can-use-displaced-stepping" command. Clear
+ displaced_step_ptid.
+ * inferior.h (debug_displaced): Declare variable.
+ (displaced_step_dump_bytes): Declare function.
+
+ * Makefile.in (arch-utils.o, i386-linux-tdep.o): Update
+ dependencies.
+
+2008-05-02 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * arm-tdep.c (arm_mode_strings, arm_fallback_mode_string)
+ (arm_force_mode_string, arm_show_fallback_mode)
+ (arm_show_force_mode): New.
+ (arm_pc_is_thumb): Honor fallback-mode and force-mode. Use
+ arm_frame_is_thumb.
+ (_initialize_arm_tdep): Add "set arm fallback-mode"
+ and "set arm force-mode".
+ * NEWS: Document new commands.
+
+2008-05-02 Andrew Stubbs <andrew.stubbs@st.com>
+
+ * main.h (batch_silent): Declare.
+ * event-top.c: Include main.h.
+ (gdb_setup_readline): Remove extern batch_silent declaration.
+ * infrun.c (normal_stop): Don't print source location when running in
+ --batch-silent mode.
+ * Makefile.in (event-top.o): Add main.h dependency.
+
+2008-05-02 Andreas Schwab <schwab@suse.de>
+
+ * target.h (struct target_ops): Add
+ to_watchpoint_addr_within_range.
+ (target_watchpoint_addr_within_range): New function.
+ * target.c (update_current_target): Inherit
+ to_watchpoint_addr_within_range, defaulting to
+ default_watchpoint_addr_within_range.
+ (default_watchpoint_addr_within_range): New function.
+ (debug_to_watchpoint_addr_within_range): New function.
+ (setup_target_debug): Set to_watchpoint_addr_within_range.
+ * ppc-linux-nat.c (ppc_linux_watchpoint_addr_within_range):
+ New function.
+ (_initialize_ppc_linux_nat): Set to_watchpoint_addr_within_range.
+ * breakpoint.c (watchpoints_triggered): Use
+ target_watchpoint_addr_within_range.
+
+2008-05-01 Pedro Alves <pedro@codesourcery.com>
+
+ * configure.tgt: Add i[34567]86-*-dicos* and x86_64-*-dicos*.
+ (i[34567]86-*-dicos*, x86_64-*-dicos*):
+ Set gdb_osabi to GDB_OSABI_DICOS.
+
+ * defs.h (enum gdb_osabi): Add GDB_OSABI_DICOS.
+ * osabi.c (gdb_osabi_name): Add "DICOS".
+
+ * i386-dicos-tdep.c: New file.
+
+ * Makefile.in (ALL_TARGET_OBS): Add i386-dicos-tdep.o.
+ (ALLDEPFILES): Add i386-dicos-tdep.c.
+ (i386-dicos-tdep.o): New rule.
+
+2008-05-01 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.c (linux_nat_switch_fork): Reinit GDB's thread list
+ and register the fork's PTID as a thread.
+
+2008-05-01 Aleksandar Ristovski <aristovski@qnx.com>
+
+ PR gdb/1665
+ * breakpoint.c (create_breakpoint): Add breakpoint_ops argument and
+ assign its value to the breakpoint created.
+ (create_breakpoints): Add breakpoint_ops argument and pass it
+ to create_breakpoint call.
+ (break_command_really): Add breakpoint_ops argument and pass/assign
+ appropriately.
+ (break_command_1): Pass NULL as ops argument.
+ (set_breakpoint): Pass NULL as ops argument.
+ (print_one_exception_catchpoint): Print <PENDING> if no loc available.
+ (handle_gnu_v3_exceptions): Call generic breakpoint code to insert
+ catch and throw catchpoints.
+
+2008-05-01 Aleksandar Ristovski <aristovski@qnx.com>
+
+ PR gdb/2343
+ * corelow.c (core_open): Use gdbarch_target_signal_from_host to
+ translate signal numeric value from the target to GDB's enum
+ target_signal.
+ * gdbarch.c, gdbarch.h: Regenerated.
+ * gdbarch.sh: Added two new functions target_signal_from_host and
+ target_signal_to_host.
+ * target.h (default_target_signal_from_host,
+ default_target_signal_to_host): New functions - declarations.
+ * signals/signals.c (struct gdbarch): New declaration.
+ (default_target_signal_to_host, default_target_signal_from_host): New
+ functions.
+
+2008-05-01 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * arm-linux-tdep.h (ARM_CPSR_REGNUM): Delete definition.
+ * arm-tdep.c (arm_frame_is_thumb): New.
+ (arm_pc_is_thumb): Clarify comment.
+ (thumb_analyze_prologue): Remove PC special case.
+ (thumb_scan_prologue): Take a block_addr argument. Use it for
+ find_pc_partial_function. Remove unused variables.
+ (arm_scan_prologue): Use arm_frame_is_thumb. Use the block address
+ for find_pc_partial_function. Remove PC special case.
+ (arm_prologue_prev_register): Add special handling for PC and CPSR.
+ (arm_dwarf2_prev_register, arm_dwarf2_frame_init_reg): New.
+ (arm_get_next_pc): Use arm_frame_is_thumb.
+ (arm_write_pc): Use CPSR_T instead of 0x20.
+ (arm_gdbarch_init): Call dwarf2_frame_set_init_reg.
+ * arm-tdep.h (enum gdb_regnum): Add ARM_CPSR_REGNUM.
+ (CPSR_T): Define.
+ * dwarf2-frame.c (dwarf2_frame_prev_register): Handle
+ DWARF2_FRAME_REG_FN.
+ * dwarf2-frame.h (enum dwarf2_frame_reg_rule): Add
+ DWARF2_FRAME_REG_FN.
+ (struct dwarf2_frame_state_reg): Add FN to loc union.
+
+2008-05-01 Nick Roberts <nickrob@snap.net.nz>
+
+ * exec.c (print_section_info): Add missing '\n'.
+
+2008-05-01 Vladimir Prus <vladimir@codesourcery.com>
+
+ * thread.c (add_thread): Move observer call to ...
+ (add_thread_silent): ... here.
+
+2008-04-30 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * rs6000-tdep.c: Update for unwinder changes.
+ * ppcobsd-tdep.c: Likewise.
+
+2008-04-30 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * s390-tdep.c: Update for unwinder changes.
+
+2008-04-30 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * spu-tdep.c: Update for unwinder changes.
+
+2008-04-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * hppanbsd-tdep.c, m68kbsd-tdep.c, mn10300-linux-tdep.c,
+ ppc-linux-tdep.c, ppcnbsd-tdep.c, sparc-linux-tdep.c,
+ sparc64-linux-tdep.c: Update for unwinder changes.
+
+2008-04-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * mipsnbsd-tdep.c, mips64obsd-tdep.c, mips-linux-tdep.c: Update
+ for unwinder changes.
+ * mips-tdep.c: Likewise.
+ (mips_stub_frame_cache): Unwind the ABI stack pointer, not the
+ raw one.
+
+2008-04-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * arm-linux-tdep.c, arm-tdep.c, armobsd-tdep.c: Update for
+ unwinder changes.
+
+2008-04-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ Update i386 and amd64 ports for unwinder changes.
+
+ * amd64-tdep.c (amd64_frame_cache): Expect this_frame.
+ (amd64_frame_this_id, amd64_frame_prev_register): Update signature.
+ (amd64_frame_unwind): Use default_frame_sniffer.
+ (amd64_frame_sniffer): Delete.
+ (amd64_sigtramp_frame_cache): Expect this_frame.
+ (amd64_sigtramp_frame_this_id, amd64_sigtramp_frame_prev_register)
+ (amd64_sigtramp_frame_sniffer): Update signature.
+ (amd64_sigtramp_frame_unwind): Add amd64_sigtramp_frame_sniffer.
+ (amd64_frame_base_address): Expect this_frame.
+ (amd64_dummy_id): Renamed from amd64_unwind_dummy_id. Expect
+ this_frame.
+ (amd64_init_abi): Use set_gdbarch_dummy_id and
+ frame_unwind_append_unwinder.
+ * i386-tdep.c (i386_frame_cache): Expect this_frame.
+ (i386_frame_this_id, i386_frame_prev_register): Update signature.
+ (i386_frame_unwind): Use default_frame_sniffer.
+ (i386_frame_sniffer): Delete.
+ (i386_sigtramp_frame_cache): Expect this_frame.
+ (i386_sigtramp_frame_this_id, i386_sigtramp_frame_prev_register)
+ (i386_sigtramp_frame_sniffer): Update signature.
+ (i386_sigtramp_frame_unwind): Use i386_sigtramp_frame_sniffer.
+ (i386_frame_base_address): Update signature.
+ (i386_dummy_id): Rename from i386_unwind_dummy_id. Expect this_frame.
+ (i386_push_dummy_call): Update comment.
+ (i386_sigtramp_p, i386_svr4_sigtramp_p, i386_svr4_sigcontext_addr):
+ Expect this_frame.
+ (i386_gdbarch_init): Use set_gdbarch_dummy_id, dwarf2_append_unwinders,
+ and frame_unwind_append_unwinder.
+ * amd64-linux-tdep.c, amd64-sol2-tdep.c, amd64fbsd-tdep.c,
+ amd64nbsd-tdep.c, amd64obsd-tdep.c, i386-linux-tdep.c,
+ i386-nto-tdep.c, i386bsd-tdep.c, i386-sol2-tdep.c, i386obsd-tdep.c,
+ i386nbsd-tdep.c: Update for unwinder changes.
+
+2008-04-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * trad-frame.c (struct trad_frame_cache): Rename next_frame to this_frame.
+ (trad_frame_cache_zalloc, trad_frame_alloc_saved_regs): Expect
+ this_frame.
+ (trad_frame_get_prev_register, trad_frame_get_register): Update signature.
+ * trad-frame.h (trad_frame_cache_zalloc, trad_frame_get_register)
+ (trad_frame_alloc_saved_regs, trad_frame_get_prev_register): Update
+ signature.
+ * tramp-frame.c (tramp_frame_cache, tramp_frame_start): Expect
+ this_frame.
+ (tramp_frame_this_id, tramp_frame_prev_register, tramp_frame_sniffer):
+ Update signature.
+ * tramp-frame.h (struct tramp_frame): Update signature of init.
+ * Makefile.in (trad-frame.o): Update.
+
+2008-04-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * dwarf2-frame.c (read_reg): Expect this_frame in the baton.
+ (execute_stack_op): Put this_frame in the baton.
+ (execute_cfa_program): Take this_frame.
+ (struct dwarf2_frame_ops): Update comment for signal_frame_p.
+ (dwarf2_frame_default_init_reg, dwarf2_frame_init_reg)
+ (dwarf2_frame_signal_frame_p, dwarf2_frame_cache)
+ (dwarf2_frame_this_id): Adjust to work on this_frame.
+ (dwarf2_signal_frame_this_id): Delete.
+ (dwarf2_frame_prev_register): Update signature. Use new frame
+ unwind methods.
+ (dwarf2_frame_sniffer): Update signature. Expect this_frame.
+ (dwarf2_frame_unwind, dwarf2_signal_frame_unwind): Add
+ dwarf2_frame_sniffer.
+ (dwarf2_append_unwinders): New.
+ (dwarf2_frame_base_address, dwarf2_frame_base_sniffer): Expect
+ this_frame.
+ * sparc-tdep.c (sparc32_dwarf2_struct_return_p)
+ (sparc32_dwarf2_frame_init_reg): Expect this_frame.
+ * cris-tdep.c (cris_dwarf2_frame_init_reg): Likewise.
+ * rs6000-tdep.c (ppc_dwarf2_frame_init_reg): Likewise.
+ * s390-tdep.c (s390_dwarf2_frame_init_reg): Likewise.
+ * sh-tdep.c (sh_dwarf2_frame_init_reg): Likewise.
+ * sparc64-tdep.c (sparc64_dwarf2_frame_init_reg): Likewise.
+ * dwarf2-frame.h (dwarf2_frame_sniffer): Delete declaration.
+ (dwarf2_append_unwinders): Declare.
+ (dwarf2_frame_base_sniffer): Update declaration.
+ * i386-linux-tdep.c (i386_linux_dwarf_signal_frame_p): Expect
+ this_frame.
+
+2008-04-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ Convert frame unwinders to use the current frame and
+ "struct value".
+
+ * frame.c (frame_debug): Make global.
+ (get_frame_id): Pass this frame to unwinder routines.
+ (frame_pc_unwind): Remove unused unwind->prev_pc support.
+ (do_frame_register_read): Do not discard the return value of
+ frame_register_read.
+ (frame_register_unwind): Remove debug messages. Use
+ frame_unwind_register_value.
+ (frame_unwind_register_value, get_frame_register_value): New
+ functions.
+ (create_new_frame, get_frame_base_address, get_frame_locals_address)
+ (get_frame_args_address, get_frame_type): Pass this frame to
+ unwinder routines.
+ (frame_cleanup_after_sniffer, frame_prepare_for_sniffer): New
+ functions.
+ * frame.h: Update comments.
+ (frame_debug, frame_unwind_register_value, get_frame_register_value)
+ (frame_prepare_for_sniffer): Declare.
+ * frame-unwind.h: Update comments and parameter names.
+ (default_frame_sniffer): Declare.
+ (frame_prev_register_ftype): Return a struct value *.
+ (struct frame_unwind): Remove prev_pc member.
+ (frame_unwind_sniffer_ftype, frame_unwind_append_sniffer): Delete.
+ (frame_unwind_append_unwinder, frame_unwind_got_optimized)
+ (frame_unwind_got_register, frame_unwind_got_memory)
+ (frame_unwind_got_constant, frame_unwind_got_address): Declare.
+ * frame-base.h: Update comments and parameter names.
+ * valops.c (value_fetch_lazy): Use get_frame_register_value. Iterate
+ if necessary. Add debugging output.
+ * sentinel-frame.c (sentinel_frame_prev_register)
+ (sentinel_frame_this_id): Update for new signature.
+ (sentinel_frame_prev_pc): Delete.
+ (sentinel_frame_unwinder): Remove prev_pc.
+ * ia64-tdep.c (ia64_libunwind_frame_unwind): Do not initialize
+ prev_pc.
+ * libunwind-frame.c (libunwind_frame_unwind): Likewise.
+ * frame-unwind.c (struct frame_unwind_table_entry): Remove sniffer.
+ (frame_unwind_append_sniffer): Delete.
+ (frame_unwind_append_unwinder): New function.
+ (frame_unwind_find_by_frame): Take this frame. Only use sniffers
+ from unwinders. Use frame_prepare_for_sniffer.
+ (default_frame_sniffer, frame_unwind_got_optimized)
+ (frame_unwind_got_register, frame_unwind_got_memory)
+ (frame_unwind_got_constant, frame_unwind_got_address): New functions.
+ * dummy-frame.c (dummy_frame_sniffer): Use gdbarch_dummy_id.
+ (dummy_frame_prev_register, dummy_frame_this_id): Update for new
+ signature.
+ * gdbarch.sh: Replace unwind_dummy_id with dummy_id.
+ * gdbarch.c, gdbarch.c: Regenerated.
+ * frame-base.c (default_frame_base_address)
+ (default_frame_locals_address, default_frame_args_address): Update
+ for new signature.
+ (frame_base_find_by_frame): Pass this frame to unwinder routines.
+ * infcall.c (call_function_by_hand): Update comments.
+ * Makefile.in (frame-unwind.o): Update dependencies.
+
+2008-04-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * ada-lang.c (ada_value_primitive_packed_val): Only check
+ value_lazy for memory lvals.
+ * findvar.c (value_of_register_lazy): New function.
+ (locate_var_value): Only check value_lazy for memory lvals.
+ * valarith.c (value_subscripted_rvalue): Likewise.
+ * valops.c (value_fetch_lazy): Handle both memory and register
+ lvals.
+ (search_struct_field, value_slice): Only check value_lazy for memory
+ lvals.
+ * value.c (struct value): Update comment for lazy.
+ (value_primitive_field): Only check value_lazy for memory lvals.
+ * value.h (value_lazy): Update comment.
+ (value_of_register_lazy): Declare.
+
+2008-04-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * corefile.c (reopen_exec_file): Close any open files.
+
+2008-04-29 Joel Brobecker <brobecker@adacore.com>
+
+ * ia64-tdep.c (ia64_memory_remove_breakpoint): Set
+ show_memory_breakpoints to 1 while reading the instruction bundle.
+
+2008-04-29 Joel Brobecker <brobecker@adacore.com>
+
+ * gdbarch.sh: Document the return_value method. Explain that
+ the FUNCTYPE parameter might be NULL.
+ * gdbarch.h: Regenerated.
+ * sparc-tdep.c (sparc32_push_dummy_code): Do not pass the function
+ type when calling using_struct_return, as this is unnecessary
+ on this target.
+
2008-04-28 Joel Brobecker <brobecker@adacore.com>
* terminal.h (create_tty_session): Fix return type.
PR gdb/2445
* exec.c: Correct "arch-utils.h" include.
-2008-04-15 Aleksandar Ristovski <aristovski@qnx.com>
+2008-04-15 Aleksandar Ristovski <aristovski@qnx.com>
PR gdb/2424
* infrun.c (normal_stop) Move breakpoint_auto_delete further down
* symmisc.c (free_symtab_block): Delete.
(free_symtab, case free_code): Delete.
-2008-04-01 Aleksandar Ristovski <aristovski@qnx.com>
+2008-04-01 Aleksandar Ristovski <aristovski@qnx.com>
* valops.c (value_cast_structs): New function. Cast related
STRUCT types up/down and return cast value. The body of this
* ia64-tdep.c (examine_prologue): Correct array access.
-2008-03-28 Aleksandar Ristovski <aristovski@qnx.com>
+2008-03-28 Aleksandar Ristovski <aristovski@qnx.com>
* cp-support.c (first_component_command): Return if no arguments.