* ada-lang.c (unwrap_value): Handle the case where the "F" field
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index ed16e4729f389d1663f727bbee2f2e1ec280fc39..691245164d01bd8bb3fbdb861bd6e54ace133de2 100644 (file)
@@ -1,3 +1,659 @@
+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.
This page took 0.030964 seconds and 4 git commands to generate.