Thiago Jung Bauermann [Sat, 3 May 2008 06:13:21 +0000 (06:13 +0000)]
* 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".
Alan Modra [Sat, 3 May 2008 05:18:02 +0000 (05:18 +0000)]
PR 2995, PR 6473
* elf.c (rewrite_elf_program_header): Rather than clearing
p_paddr_valid at end, don't set it in the first place. Delete
comment no longer relevant. When not p_paddr_valid, don't set
paddr from vaddr, and don't set p_vaddr_offset.
Ulrich Weigand [Sat, 3 May 2008 00:37:35 +0000 (00:37 +0000)]
* 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.
gdbadmin [Sat, 3 May 2008 00:00:35 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 3 May 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Joel Brobecker [Fri, 2 May 2008 23:41:40 +0000 (23:41 +0000)]
* ada-lang.c (unwrap_value): Handle the case where the "F" field
inside a PAD type is a bitfield.
Ulrich Weigand [Fri, 2 May 2008 23:24:44 +0000 (23:24 +0000)]
* 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.
Daniel Jacobowitz [Fri, 2 May 2008 20:38:16 +0000 (20:38 +0000)]
* 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.
Daniel Jacobowitz [Fri, 2 May 2008 20:35:39 +0000 (20:35 +0000)]
* objfiles.c (init_entry_point_info): Handle shared libraries.
Daniel Jacobowitz [Fri, 2 May 2008 20:30:49 +0000 (20:30 +0000)]
* gdb.base/completion.exp: Handle lack of other symbols beginning
with "a".
* gdb.base/varargs.exp: Correct quoting for options to gdb_compile.
Daniel Jacobowitz [Fri, 2 May 2008 17:24:50 +0000 (17:24 +0000)]
* arm-tdep.c (arm_prologue_this_id): Compare pc, not func, to
lowest_pc.
H.J. Lu [Fri, 2 May 2008 16:53:40 +0000 (16:53 +0000)]
gas/
2008-05-02 H.J. Lu <hongjiu.lu@intel.com>
* NEWS: Mention XSAVE, EPT and MOVBE.
* config/tc-i386.c (cpu_arch): Add .movbe and .ept.
(md_show_usage): Add .movbe and .ept.
* doc/c-i386.texi: Add movbe and ept to -march=. Document
.movbe and .ept.
gas/testsuite/
2008-05-02 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run movbe, movbe-intel, inval-movbe, ept,
ept-intel, inval-ept, x86-64-movbe, x86-64-movbe-intel,
x86-64-inval-movbe. x86-64-ept, x86-64-ept-intel and
x86-64-inval-ept.
* gas/i386/arch-10.s: Add movbe and invept.
* gas/i386/x86-64-arch-2.s: Likewise.
* gas/i386/ept.d: New file
* gas/i386/ept-intel.d: Likewise.
* gas/i386/ept.s: Likewise.
* gas/i386/inval-ept.l: Likewise.
* gas/i386/inval-ept.s: Likewise.
* gas/i386/inval-movbe.l: Likewise.
* gas/i386/inval-movbe.s: Likewise.
* gas/i386/movbe.d: Likewise.
* gas/i386/movbe-intel.d: Likewise.
* gas/i386/movbe.s: Likewise.
* gas/i386/x86-64-inval-ept.l: Likewise.
* gas/i386/x86-64-inval-ept.s: Likewise.
* gas/i386/x86-64-inval-movbe.l: Likewise.
* gas/i386/x86-64-inval-movbe.s: Likewise.
* gas/i386/x86-64-ept.d: Likewise.
* gas/i386/x86-64-ept-intel.d: Likewise.
* gas/i386/x86-64-ept.s: Likewise.
* gas/i386/x86-64-movbe.d: Likewise.
* gas/i386/x86-64-movbe-intel.d: Likewise.
* gas/i386/x86-64-movbe.s: Likewise.
* gas/i386/arch-10.d: Updated.
* gas/i386/arch-10-1.l: Likewise.
* gas/i386/arch-10-2.l: Likewise.
* gas/i386/arch-10-3.l: Likewise.
* gas/i386/arch-10-4.l: Likewise.
* gas/i386/x86-64-arch-2.d: Likewise.
opcodes/
2008-05-02 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (MOVBE_Fixup): New.
(Mo): Likewise.
(PREFIX_0F3880): Likewise.
(PREFIX_0F3881): Likewise.
(PREFIX_0F38F0): Updated.
(prefix_table): Add PREFIX_0F3880 and PREFIX_0F3881. Update
PREFIX_0F38F0 and PREFIX_0F38F1 for movbe.
(three_byte_table): Use PREFIX_0F3880 and PREFIX_0F3881.
* i386-gen.c (cpu_flag_init): Add CPU_MOVBE_FLAGS and
CPU_EPT_FLAGS.
(cpu_flags): Add CpuMovbe and CpuEPT.
* i386-opc.h (CpuMovbe): New.
(CpuEPT): Likewise.
(CpuLM): Updated.
(i386_cpu_flags): Add cpumovbe and cpuept.
* i386-opc.tbl: Add entries for movbe and EPT instructions.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
Pedro Alves [Fri, 2 May 2008 16:49:54 +0000 (16:49 +0000)]
Implement displaced stepping.
gdb/
* 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.
gdb/testsuite/
* gdb.asm/asmsrc1.s: Add scratch space.
gdb/doc/
* gdb.texinfo (Debugging Output): Document "set/show debug
displaced".
(Maintenance Commands): Document "maint set/show
can-use-displaced-stepping".
Daniel Jacobowitz [Fri, 2 May 2008 16:00:36 +0000 (16:00 +0000)]
* 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.
* gdb.texinfo (ARM): Document set/show arm fallback-mode
and set/show arm force-mode.
H.J. Lu [Fri, 2 May 2008 15:11:49 +0000 (15:11 +0000)]
2008-05-02 H.J. Lu <hongjiu.lu@intel.com>
PR ld/6475
* ld-scripts/rgn-over8-ok.d: Accept any alignment.
Andrew Stubbs [Fri, 2 May 2008 13:58:38 +0000 (13:58 +0000)]
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.
Andreas Schwab [Fri, 2 May 2008 11:07:25 +0000 (11:07 +0000)]
* 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.
* gdbint.texinfo (Algorithms): Describe
target_watchpoint_addr_within_range.
Alan Modra [Fri, 2 May 2008 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Fri, 2 May 2008 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Pedro Alves [Thu, 1 May 2008 23:09:14 +0000 (23:09 +0000)]
* 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.
Pedro Alves [Thu, 1 May 2008 22:48:49 +0000 (22:48 +0000)]
* linux-nat.c (linux_nat_switch_fork): Reinit GDB's thread list
and register the fork's PTID as a thread.
Aleksandar Ristovski [Thu, 1 May 2008 20:35:33 +0000 (20:35 +0000)]
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.
Aleksandar Ristovski [Thu, 1 May 2008 19:31:52 +0000 (19:31 +0000)]
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.
Daniel Jacobowitz [Thu, 1 May 2008 18:50:14 +0000 (18:50 +0000)]
2008-05-01 Daniel Jacobowitz <dan@codesourcery.com>
Pedro Alves <pedro@codesourcery.com>
Based on work by Jan Kratochvil <jan.kratochvil@redhat.com> and Jeff
Johnston <jjohnstn@redhat.com>.
* NEWS: Mention attach to stopped process fix.
* infcmd.c (detach_command, disconnect_command): Discard the thread
list.
* infrun.c (handle_inferior_event): Do not ignore non-SIGSTOP while
attaching. Use signal_stop_state.
(signal_stop_state): Check stop_soon.
* linux-nat.c (kill_lwp): Declare earlier.
(pid_is_stopped, linux_nat_post_attach_wait): New.
(lin_lwp_attach_lwp): Use linux_nat_post_attach_wait. Update
comments.
(linux_nat_attach): Use linux_nat_post_attach_wait.
(detach_callback, linux_nat_detach): Improve handling for signalled
processes.
(linux_nat_pid_to_str): Always print out the LWP ID if it differs
from the process ID.
* Makefile.in (infcmd.o): Update.
2008-05-01 Jan Kratochvil <jan.kratochvil@redhat.com>
Daniel Jacobowitz <dan@codesourcery.com>
* gdb.threads/attach-into-signal.c, gdb.threads/attach-into-signal.exp,
gdb.threads/attach-stopped.c, gdb.threads/attach-stopped.exp,
gdb.threads/attachstop-mt.c, gdb.threads/attachstop-mt.exp: New.
Daniel Jacobowitz [Thu, 1 May 2008 18:32:52 +0000 (18:32 +0000)]
Add lost bit of previous commit.
Daniel Jacobowitz [Thu, 1 May 2008 18:30:51 +0000 (18:30 +0000)]
* 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.
* gdb.arch/thumb-prologue.exp: Do not expect a saved PC.
Joel Brobecker [Thu, 1 May 2008 17:48:23 +0000 (17:48 +0000)]
* gdb.base/info-target.exp: New testcase.
Joel Brobecker [Thu, 1 May 2008 17:46:32 +0000 (17:46 +0000)]
* exec.c (print_section_info): Add missing '\n'.
Cary Coutant [Thu, 1 May 2008 17:06:52 +0000 (17:06 +0000)]
* elf.c (bfd_elf_get_str_section): Fix memory leak caused by
corrupt string table.
Joel Brobecker [Thu, 1 May 2008 15:45:43 +0000 (15:45 +0000)]
* cache.c (cache_bread_1): Renames cache_bread.
(cache_bread): New function.
Nick Clifton [Thu, 1 May 2008 14:34:51 +0000 (14:34 +0000)]
* readelf.c (print_symbol): Add code to display non-printing characters.
Vladimir Prus [Thu, 1 May 2008 14:27:39 +0000 (14:27 +0000)]
* thread.c (add_thread): Move observer call to ...
(add_thread_silent): ... here.
Alan Modra [Thu, 1 May 2008 14:13:58 +0000 (14:13 +0000)]
PR 2995, PR 6473
* elf.c (_bfd_elf_make_section_from_shdr): Always set lma from p_paddr.
(assign_file_positions_for_load_sections): Combine nested "if".
(copy_elf_program_header): Don't set p_paddr_valid or p_vaddr_offset
when all header p_paddr fields are zero.
Cary Coutant [Thu, 1 May 2008 02:01:23 +0000 (02:01 +0000)]
* target-reloc.h (relocate_section): Fix dead-pointer bug.
Cary Coutant [Thu, 1 May 2008 01:23:21 +0000 (01:23 +0000)]
* layout.cc (Layout::include_section): Refactored check for debug
info section.
(Layout::add_comdat): Add new parameters. Change type
of signature parameter. Add object and shndx to signatures table.
(Layout::find_kept_object): New function.
* layout.h: Include <cstring>.
(Layout::is_debug_info_section): New function.
(Layout::add_comdat): Add new parameters.
(Layout::find_kept_object): New function.
(Layout::Kept_section): New struct.
(Layout::Signatures): Change type of map range.
* object.cc (Relobj::output_section_address): New function.
(Sized_relobj::include_section_group): Add new parameters. Change
calls to Layout::add_comdat. Change to build table of kept comdat
groups and table mapping discarded sections to kept sections.
(Sized_relobj::include_linkonce_section): Likewise. Add new parameter.
(Sized_relobj::do_layout): Change calls to include_section_group and
include_linkonce_section.
(Sized_relobj::do_finalize_local_symbols): Do not set local symbol
value to zero when section is discarded.
(Sized_relobj::map_to_kept_section): New function.
* object.h (Relobj::output_section_address): New function.
(Relobj::Comdat_group): New type.
(Relobj::find_comdat_group): New function.
(Relobj::Comdat_group_table): New type.
(Relobj::Kept_comdat_section): New type.
(Relobj::Kept_comdat_section_table): New type.
(Relobj::add_comdat_group): New function.
(Relobj::set_kept_comdat_section): New function.
(Relobj::get_kept_comdat_section): New function.
(Relobj::comdat_groups_): New field.
(Relobj::kept_comdat_sections_): New field.
(Symbol_value::input_value): Update comment.
(Sized_relobj::map_to_kept_section) New function.
(Sized_relobj::include_linkonce_section): Add new parameter.
* target-reloc.h (Comdat_behavior): New type.
(get_comdat_behavior): New function.
(relocate_section): Add code to map a discarded section to the
corresponding kept section when applying a relocation.
Ulrich Weigand [Thu, 1 May 2008 00:40:39 +0000 (00:40 +0000)]
* rs6000-tdep.c: Update for unwinder changes.
* ppcobsd-tdep.c: Likewise.
Craig Silverstein [Thu, 1 May 2008 00:25:33 +0000 (00:25 +0000)]
* dwarf_reader.cc (next_generation_count): New static var.
(Addr2line_cache_entry): New struct.
(addr2line_cache): New static var.
(Dwarf_line_info::one_addr2line): Added caching.
(Dwarf_line_info::clear_addr2line_cache): New function.
* dwarf_reader.h (Dwarf_line_info::one_addr2line): Add
cache-size parameter.
(Dwarf_line_info::one_addr2line_cache): New function.
* symtab.cc (Symbol_table::detect_odr_violations): Pass
new cache-size argument to one_addr2line(), and clear cache.
Ulrich Weigand [Thu, 1 May 2008 00:18:27 +0000 (00:18 +0000)]
* s390-tdep.c: Update for unwinder changes.
Ulrich Weigand [Thu, 1 May 2008 00:08:28 +0000 (00:08 +0000)]
* spu-tdep.c: Update for unwinder changes.
gdbadmin [Thu, 1 May 2008 00:00:40 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 1 May 2008 00:00:06 +0000 (00:00 +0000)]
daily update
Daniel Jacobowitz [Wed, 30 Apr 2008 21:28:57 +0000 (21:28 +0000)]
* 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.
Daniel Jacobowitz [Wed, 30 Apr 2008 21:25:16 +0000 (21:25 +0000)]
* 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.
Daniel Jacobowitz [Wed, 30 Apr 2008 21:23:45 +0000 (21:23 +0000)]
* arm-linux-tdep.c, arm-tdep.c, armobsd-tdep.c: Update for
unwinder changes.
Daniel Jacobowitz [Wed, 30 Apr 2008 21:19:45 +0000 (21:19 +0000)]
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.
Daniel Jacobowitz [Wed, 30 Apr 2008 21:19:10 +0000 (21:19 +0000)]
* 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.
Daniel Jacobowitz [Wed, 30 Apr 2008 21:18:28 +0000 (21:18 +0000)]
* 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.
Daniel Jacobowitz [Wed, 30 Apr 2008 21:16:46 +0000 (21:16 +0000)]
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.
* gdbint.texinfo (Stack Frames): New chapter.
(Algorithms): Move Frames text to the new chapter.
(Target Conditionals): Delete SAVE_DUMMY_FRAME_TOS. Document
gdbarch_dummy_id instead of gdbarch_unwind_dummy_id.
Daniel Jacobowitz [Wed, 30 Apr 2008 21:13:49 +0000 (21:13 +0000)]
* 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.
Daniel Jacobowitz [Wed, 30 Apr 2008 18:28:23 +0000 (18:28 +0000)]
* gdb.cp/hang.exp: Use .cc instead of .C.
* gdb.cp/hang1.cc, gdb.cp/hang2.cc, gdb.cp/hang3.cc: Renamed from ...
* gdb.cp/hang1.C, gdb.cp/hang2.C, gdb.cp/hang3.C: ... here.
Daniel Jacobowitz [Wed, 30 Apr 2008 18:25:53 +0000 (18:25 +0000)]
* gdb.base/gdb1250.exp: Remove perror.
* lib/mi-support.exp (mi_delete_breakpoints): Match the prompt.
Daniel Jacobowitz [Wed, 30 Apr 2008 18:22:37 +0000 (18:22 +0000)]
* corefile.c (reopen_exec_file): Close any open files.
Pedro Alves [Wed, 30 Apr 2008 13:54:10 +0000 (13:54 +0000)]
* gdb.dwarf2/dw2-strp.S: Replace .long by .4byte and .value by
.2byte.
Nick Clifton [Wed, 30 Apr 2008 07:27:17 +0000 (07:27 +0000)]
* doc/binutils.texi (strings): Add "unicode" to the documentation
of strings in order to make explicit that it supports this
feature.
Alan Modra [Wed, 30 Apr 2008 06:47:24 +0000 (06:47 +0000)]
missed from
20080414 commit for e500mc support
David S. Miller [Wed, 30 Apr 2008 03:50:39 +0000 (03:50 +0000)]
* config/tc-sparc.c (v9a_asr_table): Fix order of softint entries.
Alan Modra [Wed, 30 Apr 2008 02:09:48 +0000 (02:09 +0000)]
* readelf.c (process_program_headers): Correct section in segment
display.
Alan Modra [Wed, 30 Apr 2008 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Wed, 30 Apr 2008 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Adam Nemet [Tue, 29 Apr 2008 23:27:01 +0000 (23:27 +0000)]
* mips-opc.c (mips_builtin_opcodes): Set field `match' to 0 for
the two drem and the two dremu macros.
Joel Brobecker [Tue, 29 Apr 2008 21:14:06 +0000 (21:14 +0000)]
* ia64-tdep.c (ia64_memory_remove_breakpoint): Set
show_memory_breakpoints to 1 while reading the instruction bundle.
Joel Brobecker [Tue, 29 Apr 2008 16:06:07 +0000 (16:06 +0000)]
* 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.
Daniel Jacobowitz [Tue, 29 Apr 2008 11:53:45 +0000 (11:53 +0000)]
* elf.c (_bfd_elf_get_dynamic_reloc_upper_bound)
(_bfd_elf_canonicalize_dynamic_reloc): Find dynamic relocations
even if they are not loaded.
* elflink.c (_bfd_elf_init_2_index_sections): Set data_index_section
first.
* ld-arm/symbian-seg1.s, ld-arm/symbian-seg1.d: New files.
* ld-arm/arm-elf.exp: Run symbian-seg1.
Joel Brobecker [Tue, 29 Apr 2008 00:52:26 +0000 (00:52 +0000)]
* terminal.h (create_tty_session): Fix return type.
gdbadmin [Tue, 29 Apr 2008 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 29 Apr 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Cary Coutant [Mon, 28 Apr 2008 23:09:21 +0000 (23:09 +0000)]
* i386.cc (Relocate::relocate): Fix typos for R_386_PC16 and
R_386_PC8 relocations.
Adam Nemet [Mon, 28 Apr 2008 17:10:18 +0000 (17:10 +0000)]
* gas/mips/mips4.s: Split out fp instruction from here ...
* gas/mips/mips4-fp.s: ... to here.
* gas/mips/mips4.d: Update.
* gas/mips/mips4-fp.l: New file. Check error messages with
-msoft-float.
* gas/mips/mips4-fp.d: New file. Check disassembly with
hard-float.
* gas/mips/mips32r2.s: Split out fp instructions from here ...
* gas/mips/mips32r2-fp32.s: ... to here.
* gas/mips/mips32r2.d: Update.
* gas/mips/mips32r2-fp32.l: New file. Check error messages with
-msoft-float.
* gas/mips/mips32r2-fp32.d: New file. Check disassembly with
hard-float.
* gas/mips/mips32r2-ill-nofp.s, gas/mips/mips32r2-ill-nofp.l: New
test derived from mips32r2-ill.
* gas/mips/mips32-sf32.l: New list test for mips32-sf32.s to check
error messages for soft-float targets.
* gas/mips/mips-macro-ill-sfp.s, gas/mips/mips-macro-ill-sfp.l:
New test for -msingle-float.
* gas/mips/mips-macro-ill-nofp.s, gas/mips/mips-macro-ill-nofp.l:
New test for -msoft-float.
* gas/mips/mips-hard-float-flag.s,
gas/mips/mips-hard-float-flag.l: New test for -mhard-float.
* gas/mips/mips-double-float-flag.s,
gas/mips/mips-double-float-flag.l: New test for -mdouble-float.
* gas/mips/mips.exp: Run new mips4-fp and mips32r2-fp dump tests.
Run mips4-fp and mips32r2-fp list tests with -msoft-float. Run
new mips32r2-ill-nofp with -msoft-float. Run new mips32-sf32 list
test with -msoft-float. Run new mips-macro-ill-sfp test with
-msingle-float. Run new mips-macro-ill-nofp test with
-msoft-float. Run new mips-hard-float-flag and
mips-double-float-flag tests.
Adam Nemet [Mon, 28 Apr 2008 17:06:28 +0000 (17:06 +0000)]
* config/tc-mips.c (file_mips_soft_float, file_mips_single_float):
New statics.
(OPTION_ELF_BASE): Make room for new option macros.
(OPTION_SOFT_FLOAT, OPTION_HARD_FLOAT, OPTION_SINGLE_FLOAT,
OPTION_DOUBLE_FLOAT): New option macros.
(md_longopts): Add msoft-float, mhard-float, msingle-float and
mdouble-float.
(md_parse_option): Handle OPTION_SINGLE_FLOAT,
OPTION_DOUBLE_FLOAT, OPTION_SOFT_FLOAT and OPTION_HARD_FLOAT.
(md_show_usage): Add -msoft-float, -mhard-float, -msingle-float
and -mdouble-float.
(struct mips_set_options): New fields soft_float and single_float.
(mips_opts): Initialized them. Add comment for each field
initializer.
(mips_after_parse_args): Set them based on file_mips_soft_float
and file_mips_single_float.
(s_mipsset): Add support for `.set softfloat', `.set hardfloat',
`.set singlefloat' and `.set doublefloat'.
(is_opcode_valid): New function to invoke OPCODE_IS_MEMBER.
Handle single-float and soft-float instructions here.
(macro_build, mips_ip): Use it instead of OPCODE_IS_MEMBER.
(is_opcode_valid_16): New function.
(mips16_ip): Use it instead of OPCODE_IS_MEMBER.
(macro) <M_LDC1_AB, M_SDC1_AB, M_L_DOB, M_L_DAB, M_S_DAB,
M_S_DOB>: Remove special-casing of r4650.
* doc/c-mips.texi (-march=): Add Octeon.
(MIPS Opts): Document -msoft-float and -mhard-float. Document
-msingle-float and -mdouble-float.
(MIPS floating-point): New section. Document `.set softfloat' and
`.set hardfloat'. Document `.set singlefloat' and `.set
doublefloat'.
Adam Nemet [Mon, 28 Apr 2008 17:03:58 +0000 (17:03 +0000)]
* mips-opc.c (mips_builtin_opcodes): Mark prefx and c1
instructions FP_S. Mark l.s, li.s, lwc1, swc1, s.s, trunc.w.s and
cop1 macros INSN2_M_FP_S. Mark l.d, li.d, ldc1 and sdc1 macros
INSN2_M_FP_D. Mark trunc.w.d macro INSN2_M_FP_S and INSN2_M_FP_D.
Adam Nemet [Mon, 28 Apr 2008 16:59:27 +0000 (16:59 +0000)]
* mips.h (INSN_MACRO): Move it up to the the pinfo macros.
(INSN2_M_FP_S, INSN2_M_FP_D): New pinfo2 macros.
Nathan Sidwell [Mon, 28 Apr 2008 14:08:15 +0000 (14:08 +0000)]
* ld-scripts/rgn-over8.s: Tweak.
Nathan Sidwell [Mon, 28 Apr 2008 12:45:34 +0000 (12:45 +0000)]
ld/
* ldlang.c (lang_size_sections_1): Don't check LMA overflow on
non-load sections.
ld/testsuite/
* ld-scripts/rgn-over.exp: Allow -ok file names to pass.
* ld-scripts/rgn-over8.s: New.
* ld-scripts/rgn-over8.t: New.
* ld-scripts/rgn-over8-ok.d: New.
Nick Clifton [Mon, 28 Apr 2008 08:30:23 +0000 (08:30 +0000)]
PR binutils/6449
* objdump.c (slurp_file): Open the file in binary mode.
* ar.c: Remove conditional definition of O_BINARY.
* bin2.c: Likewise.
* rename.c: Likewise.
* strings.c: Likewise.
* sysdep.h: Add conditional definition of O_BINARY.
Alan Modra [Mon, 28 Apr 2008 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Mon, 28 Apr 2008 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
gdbadmin [Sun, 27 Apr 2008 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 27 Apr 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Vladimir Prus [Sat, 26 Apr 2008 17:58:48 +0000 (17:58 +0000)]
* mi/mi-interp.c (mi_new_thread): Quote the thread id.
Joel Brobecker [Sat, 26 Apr 2008 05:43:45 +0000 (05:43 +0000)]
* breakpoint.c (condition_command, commands_from_control_command)
(break_command_really): Minor reformatting.
Mike Frysinger [Sat, 26 Apr 2008 01:10:55 +0000 (01:10 +0000)]
2008-04-25 Michael Frysinger <vapier@gentoo.org>
* configure.tgt (bfin-*-linux-uclibc*): Set targ_emul to elf32bfinfd
and targ_extra_emuls to elf32bfin.
Alan Modra [Sat, 26 Apr 2008 00:00:04 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 26 Apr 2008 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Daniel Jacobowitz [Fri, 25 Apr 2008 21:47:11 +0000 (21:47 +0000)]
* gdb.base/macscp.exp: Enable kfails. Compile with -g3 for GCC.
(maybe_kfail): New.
David S. Miller [Fri, 25 Apr 2008 19:58:03 +0000 (19:58 +0000)]
gas/
* config/tc-sparc.c: Accept 'softint_clear' and 'softint_set'
%asr aliases.
* doc/c-sparc.texi: Consistently refer to architecture 'versions',
rather than occaisionally 'levels'. Consistently refer to Sun's
UNIX variant as SunOS, every version of Solaris is also SunOS.
Document new 'softint_clear' and 'softint_set' aliases. Clarify
which architecture versions support '%dcr', '%cq', and '%gl'. Add
section on 32-bit/64-bit opcode translations.
opcodes/
* sparc-dis.c: Emit %stick instead of %sys_tick, and %stick_cmpr
instead of %sys_tick_cmpr, as suggested in architecture manuals.
Pedro Alves [Fri, 25 Apr 2008 18:45:24 +0000 (18:45 +0000)]
gdb/
* dwarf2read.c (dwarf2_const_value): Handle DW_FORM_strp.
gdb/testsuite/
* gdb.dwarf2/dw2-strp.S, gdb.dwarf2/dw2-strp.exp: New files.
Nick Clifton [Fri, 25 Apr 2008 16:02:43 +0000 (16:02 +0000)]
* reloc16.c (bfd_coff_reloc16_get_value): Add support for
undefined weak symbols.
Pedro Alves [Fri, 25 Apr 2008 14:57:30 +0000 (14:57 +0000)]
* 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.
Nick Clifton [Fri, 25 Apr 2008 14:52:23 +0000 (14:52 +0000)]
* po/vi.po: Updated Vietnamese translation.
Pedro Alves [Fri, 25 Apr 2008 14:50:10 +0000 (14:50 +0000)]
* 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.
gdbadmin [Fri, 25 Apr 2008 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 25 Apr 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Vladimir Prus [Thu, 24 Apr 2008 13:28:06 +0000 (13:28 +0000)]
* 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.
Vladimir Prus [Thu, 24 Apr 2008 12:56:45 +0000 (12:56 +0000)]
* breakpoint.c (bpstat_check_location)
(bpstat_check_watchpoint, bpstat_check_breakpoint_conditions):
New, extracted from bpstat_stop_status.
(bpstat_stop_status): Use the above.
Vladimir Prus [Thu, 24 Apr 2008 12:09:49 +0000 (12:09 +0000)]
* 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.
Vladimir Prus [Thu, 24 Apr 2008 11:43:14 +0000 (11:43 +0000)]
* infcmd.c (step_1_continuation): Always disable longjmp
breakpoint if we're not going to do another step.
Vladimir Prus [Thu, 24 Apr 2008 11:13:44 +0000 (11:13 +0000)]
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.
Vladimir Prus [Thu, 24 Apr 2008 10:21:45 +0000 (10:21 +0000)]
* 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.
Vladimir Prus [Thu, 24 Apr 2008 08:46:19 +0000 (08:46 +0000)]
* breakpoint.c (print_one_breakpoint_location): In MI
mode, report the location string the breakpoint was
originally created with.
Nick Clifton [Thu, 24 Apr 2008 08:20:55 +0000 (08:20 +0000)]
(oops) Add changelog entry for David Miller's SunPRO support patch which was
accidentally omitted yesterday.