+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 Riswtovski <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.
+
+2008-04-26 Vladimir Prus <vladimir@codesourcery.com>
+
+ * mi/mi-interp.c (mi_new_thread): Quote the thread id.
+
+2008-04-26 Joel Brobecker <brobecker@adacore.com>
+
+ * breakpoint.c (condition_command, commands_from_control_command)
+ (break_command_really): Minor reformatting.
+
+2008-04-25 Pedro Alves <pedro@codesourcery.com>
+
+ * dwarf2read.c (dwarf2_const_value): Handle DW_FORM_strp.
+
+2008-04-25 Pedro Alves <pedro@codesourcery.com>
+
+ * amd64-tdep.c (amd64_get_longjmp_target): New.
+ (amd64_init_abi): Register amd64_get_longjmp_target as
+ gdbarch_get_longjmp_target callback.
+ * i386-tdep.c (i386_get_longjmp_target): Remove 64-bit handling.
+
+2008-04-25 Pedro Alves <pedro@codesourcery.com>
+
+ * breakpoint.h (enum bpstat_what_main_action): Delete
+ BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE.
+
+ * breakpoint.c (clrs): Delete.
+ (bpstat_what): Update table.
+
+ * infrun.c (handle_inferior_event): Remove
+ BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE handling.
+
+2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ * mi/mi-cmds.h (mi_cmd_args_ftype): Remove.
+ Adjust all prototypes using mi_cmd_args_ftype to use
+ mi_cmd_argv_ftype.
+ (struct mi_cmd): Remove the args_func field.
+ * mi/mi-cmds.c: Don't provide value for the args_func field.
+ * mi/mi-main.c (mi_execute_async_cli_command)
+ (mi_cmd_exec_run, mi_cmd_exec_next, mi_cmd_exec_next_instruction)
+ (mi_cmd_exec_step, mi_cmd_exec_step_instruction)
+ (mi_cmd_exec_finish, mi_cmd_exec_until, mi_cmd_exec_return)
+ (mi_cmd_exec_continue, mi_cmd_exec_interrupt)
+ (mi_cmd_target_download): Adjust.
+ (mi_cmd_target_select): Adjust. Pass 0 for from_tty parameter.
+ (mi_cmd_execute): Do not check for args_func.
+ (mi_execute_async_cli_command): Adjust.
+ * mi/mi-parse.c: Don't check for args_func.
+
+2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ * breakpoint.c (bpstat_check_location)
+ (bpstat_check_watchpoint, bpstat_check_breakpoint_conditions):
+ New, extracted from bpstat_stop_status.
+ (bpstat_stop_status): Use the above.
+
+2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ * mi/mi-main.c (last_async_command): Rename to current_token.
+ (previous_async_command): Remove.
+ (mi_cmd_gdb_exit): Adjust.
+ (mi_cmd_exec_interrupt): Don't dance with previous_async_command.
+ (mi_cmd_target_select): Adjust.
+ (mi_cmd_execute): Don't set previous_async_command. Free token
+ here even in async mode.
+ (mi_execute_async_cli_command): Adjust.
+ (mi_exec_async_cli_cmd_continuation): Adjust. Do not free the
+ token.
+ (mi_load_progress): Adjust.
+
+2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ * infcmd.c (step_1_continuation): Always disable longjmp
+ breakpoint if we're not going to do another step.
+
+2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ exec_cleanup murder.
+ * breakpoint.c (until_break_command_continuation): Add
+ the 'error' parameter. Directly delete the breakoint as
+ opposed to running cleanups.
+ (until_break_command): Install continuation only
+ after starting the target. Don't use exec cleanups,
+ use ordinary cleanups. Discard cleanups is successfully
+ started the target in async mode.
+ (make_cleanup_delete_breakpoint): Remove.
+ * breakpoint.h (make_cleanup_delete_breakpoint): Remove
+ declaration.
+ * defs.h (do_exec_cleanups, make_exec_cleanup): Remove
+ declarations.
+ (struct continations): Add the 'error' parameter to the
+ continuation_hook field.
+ (add_continuation, do_all_continuations)
+ (add_intermediate_continuation)
+ (do_all_intermediate_continuations): Add the 'error' parameter.
+ * exceptions.c (throw_exception): Don't call do_exec_cleanups.
+ * inf-loop.c (inferior_event_handler): Instead of calling
+ discard_all_continuations, use do_all_continuations with 1 as
+ 'error' parameter. Pass 0 as 'error' parameter in existing uses
+ of discard_all_continuations.
+ * infcmd.c (step_1): Do not use exec cleanup. For async case, discard
+ cleanups.
+ (step_once): Install continuation only after resuming the target.
+ (step_1_continuation): Disable longjmp breakpoint on error.
+ (finish_command_continuation): Add the error parameter. Delete
+ the finish breakpoint directly, do not use cleanups.
+ (finish_command): Do not use exec_cleanups. Always setup
+ continuation. For sync case, immediately run them.
+ (attach_command_continuation): Add the error parameter.
+ * infrun.c (fetch_inferior_event): Do not use exec cleanups to
+ remove step_resume_breakpoint -- adjust delete it directly.
+ * interps.c (interp_set): Adjust call to do_all_continations.
+ * mi/mi-interp.c (mi_interpreter_exec_continuation): Do not
+ do exec cleanups.
+ * mi/mi-main.c (mi_cmd_target_select): Do not do exec
+ cleanups.
+ (mi_cmd_execute): Do not use exec_cleanup.
+ (mi_execute_async_cli_command): Simplify the string concatenation
+ logic. Do no use exec cleanup.
+ (mi_exec_async_cli_cmd_continuation): New parameter error.
+ Free last_async_command.
+ * top.c (command_line_handler_continuation): New parameter error.
+ * utils.c (exec_cleanup_chain, make_exec_cleanup)
+ (do_exec_cleanups): Remove.
+ (add_continuation, do_all_continations)
+ (add_intermediate_continuation)
+ (do_all_intermediate_continuations): New parameter error.
+
+2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ * breakpoint.h (bp_location_p): New typedef.
+ Register a vector of bp_location_p.
+ * breakpoint.c (always_inserted_mode)
+ (show_always_inserted_mode): New.
+ (unlink_locations_from_global_list): Remove.
+ (update_global_location_list)
+ (update_global_location_list_nothrow): New.
+ (update_watchpoint): Don't free locations.
+ (should_insert_location): New.
+ (insert_bp_location): Use should_insert_location.
+ (insert_breakpoint_locations): Copied from
+ insert_breakpoints.
+ (insert_breakpoint): Use insert_breakpoint_locations.
+ (bpstat_stop_status): Call update_global_location_list
+ when disabling breakpoint.
+ (allocate_bp_location): Don't add to bp_location_chain.
+ (set_raw_breakpoint)
+ (create_longjmp_breakpoint, enable_longjmp_breakpoint)
+ (disable_longjmp_breakpoint, create_overlay_event_breakpoint)
+ (enable_overlay_breakpoints, disable_overlay_breakpoints)
+ (set_longjmp_resume_breakpoint)
+ (enable_watchpoints_after_interactive_call_stop)
+ (disable_watchpoints_before_interactive_call_start)
+ (create_internal_breakpoint)
+ (create_fork_vfork_event_catchpoint)
+ (create_exec_event_catchpoint, set_momentary_breakpoint)
+ (create_breakpoints, break_command_1, watch_command_1)
+ (create_exception_catchpoint)
+ (handle_gnu_v3_exceptions)
+ (disable_breakpoint, breakpoint_re_set_one)
+ (create_thread_event_breakpoint, create_solib_event_breakpoint)
+ (create_ada_exception_breakpoint): : Don't call check_duplicates.
+ Call update_global_location_list.
+ (delete_breakpoint): Don't remove locations and don't
+ try to reinsert them. Call update_global_location_list.
+ (update_breakpoint_locations): Likewise.
+ (restore_always_inserted_mode): New.
+ (update_breakpoints_after_exec): Temporary disable
+ always inserted mode.
+ * Makefile.in: Update dependencies.
+
+ * infrun.c (proceed): Remove breakpoints while stepping
+ over breakpoint.
+ (handle_inferior_event): Don't remove or insert
+ breakpoints.
+ * linux-fork.c (checkpoint_command): Remove breakpoints
+ before fork and insert after.
+ (linux_fork_context): Remove breakpoints before switch
+ and insert after.
+ * target.c (target_disconnect, target_detach): Remove
+ breakpoints from target.
+
+
+2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ * breakpoint.c (print_one_breakpoint_location): In MI
+ mode, report the location string the breakpoint was
+ originally created with.
+
+2008-04-23 Maxim Grigoriev <maxim2405@gmail.com>
+
+ * Makefile.in (xtensa-tdep.o): Update dependencies.
+ * configure.tgt (xtensa*): Update dependencies.
+ * xtensa-tdep.c (arreg_number): Renamed from areg_number.
+ Local variable areg renamed to arreg.
+ (areg_number): New function.
+ (xtensa_pseudo_register_read, xtensa_pseudo_register_write)
+ (xtensa_extract_return_value, xtensa_store_return_value): areg_number
+ replaced by arreg_number.
+ (xtensa_windowed_frame_cache, struct xtensa_frame_cache): New comments.
+ (xtensa_alloc_frame_cache): Initialize cache->wd.ws.
+ (xtensa_scan_prologue): New function.
+ (xtensa_frame_cache): New local fp_regnum. Handle separately the case,
+ when ENTRY instraction hasn't been executed yet. Get the frame pointer
+ value based on prologue analysis. Fix the bugs preventing WS and
+ AR4-AR7/A11 registers from getting right values for intermediate frames,
+ whose registers have been already spilled.
+ (xtensa_frame_prev_register): Fix WS register value. Use are_number
+ and arreg_number appropriately.
+ (xtensa_gdbarch_init): Set solib_svr4_fetch_link_map_offsets to
+ svr4_ilp32_fetch_link_map_offsets.
+
+2008-04-23 Andrew Stubbs <andrew.stubbs@st.com>
+
+ * printcmd.c: Define USE_PRINTF_I64 and PRINTF_HAS_LONG_LONG on MinGW.
+ (printf_command): Convert %lld to %I64d when USE_PRINTF_I64 set.
+
+2008-04-23 Paolo Bonzini <bonzini@gnu.org>
+
+ * acinclude.m4: Add override.m4.
+ * configure: Regenerate.
+
+2008-04-22 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * ada-lang.c (get_selections): Variable PROMPT made non-const and
+ initialized with a trailing space now. Use PROMPT_ARG of
+ COMMAND_LINE_INPUT instead of printing it ourselves.
+
2008-04-22 Joel Brobecker <brobecker@adacore.com>
* NEWS: Document support for 64-bit core file.