aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2008-05-032008-05-03 Pedro Alves <pedro@codesourcery.com>Vladimir Prus6-2/+35
* thread.c (delete_thread): Call observer_notify_thread_exit. * mi/mi-interp.c (mi_interpreter_init): Register mi_thread_exit as thread_exit observer. (mi_thread_exit): New.
2008-05-032008-05-03 Mike Frysinger <vapier@gentoo.org>Mike Frysinger2-1/+5
* ld-scripts/defined.s: Use .set syntax rather than =.
2008-05-03 * breakpoint.c (create_exception_catchpoint): Remove prototypeThiago Jung Bauermann7-25/+21
for already deleted function. * breakpoint.h (ep_is_exception_catchpoint): Likewise. * frame.h (show_stack_frame): Remove prototype. * stack.c (show_stack_frame): Remove empty, unused function. * source.c (symtab_to_fullname, print_source_lines): Small fix in comment. * value.c (show_values): Update comments to mention "show values" command instead of "info history".
2008-05-03 PR 2995, PR 6473Alan Modra2-18/+30
* 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.
2008-05-03 * linespec.c: Include "target.h".Ulrich Weigand8-44/+136
(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-03*** empty log message ***gdbadmin1-1/+1
2008-05-03daily updateAlan Modra1-1/+1
2008-05-02 * ada-lang.c (unwrap_value): Handle the case where the "F" fieldJoel Brobecker2-2/+6
inside a PAD type is a bitfield.
2008-05-02 * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): HandleUlrich Weigand2-15/+46
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 * Makefile.in (arm-tdep.o): Update.Daniel Jacobowitz9-3/+222
* 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 * objfiles.c (init_entry_point_info): Handle shared libraries.Daniel Jacobowitz2-0/+10
2008-05-02 * gdb.base/completion.exp: Handle lack of other symbols beginningDaniel Jacobowitz3-52/+74
with "a". * gdb.base/varargs.exp: Correct quoting for options to gdb_compile.
2008-05-02 * arm-tdep.c (arm_prologue_this_id): Compare pc, not func, toDaniel Jacobowitz2-6/+10
lowest_pc.
2008-05-02gas/H.J. Lu41-2547/+3246
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.
2008-05-02 Implement displaced stepping.Pedro Alves16-34/+1257
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".
2008-05-02 * arm-tdep.c (arm_mode_strings, arm_fallback_mode_string)Daniel Jacobowitz5-7/+117
(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.
2008-05-022008-05-02 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-3/+9
PR ld/6475 * ld-scripts/rgn-over8-ok.d: Accept any alignment.
2008-05-022008-05-02 Andrew Stubbs <andrew.stubbs@st.com>Andrew Stubbs5-4/+16
* 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* target.h (struct target_ops): AddAndreas Schwab7-6/+89
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.
2008-05-02daily updateAlan Modra1-1/+1
2008-05-02*** empty log message ***gdbadmin1-1/+1
2008-05-01 * configure.tgt: Add i[34567]86-*-dicos* and x86_64-*-dicos*.Pedro Alves6-0/+149
(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 * linux-nat.c (linux_nat_switch_fork): Reinit GDB's thread listPedro Alves2-0/+7
and register the fork's PTID as a thread.
2008-05-01 PR gdb/1665Aleksandar Ristovski2-35/+44
* 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 PR gdb/2343Aleksandar Ristovski7-1/+105
* 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-012008-05-01 Daniel Jacobowitz <dan@codesourcery.com>Daniel Jacobowitz11-87/+985
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.
2008-05-01Add lost bit of previous commit.Daniel Jacobowitz1-4/+2
2008-05-01 * arm-linux-tdep.h (ARM_CPSR_REGNUM): Delete definition.Daniel Jacobowitz8-34/+153
* 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.
2008-05-01 * gdb.base/info-target.exp: New testcase.Joel Brobecker2-0/+48
2008-05-01 * exec.c (print_section_info): Add missing '\n'.Joel Brobecker2-4/+6
2008-05-01 * elf.c (bfd_elf_get_str_section): Fix memory leak caused byCary Coutant2-1/+10
corrupt string table.
2008-05-01 * cache.c (cache_bread_1): Renames cache_bread.Joel Brobecker2-1/+43
(cache_bread): New function.
2008-05-01* readelf.c (print_symbol): Add code to display non-printing characters.Nick Clifton2-8/+79
2008-05-01 * thread.c (add_thread): Move observer call to ...Vladimir Prus2-2/+8
(add_thread_silent): ... here.
2008-05-01 PR 2995, PR 6473Alan Modra2-74/+83
* 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.
2008-05-01 * target-reloc.h (relocate_section): Fix dead-pointer bug.Cary Coutant2-3/+4
2008-05-01 * layout.cc (Layout::include_section): Refactored check for debugCary Coutant6-40/+397
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.
2008-05-01 * rs6000-tdep.c: Update for unwinder changes.Ulrich Weigand3-79/+62
* ppcobsd-tdep.c: Likewise.
2008-05-01 * dwarf_reader.cc (next_generation_count): New static var.Craig Silverstein4-23/+134
(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.
2008-05-01 * s390-tdep.c: Update for unwinder changes.Ulrich Weigand2-106/+106
2008-05-01 * spu-tdep.c: Update for unwinder changes.Ulrich Weigand2-33/+30
2008-05-01*** empty log message ***gdbadmin1-1/+1
2008-05-01daily updateAlan Modra1-1/+1
2008-04-30 * hppanbsd-tdep.c, m68kbsd-tdep.c, mn10300-linux-tdep.c,Daniel Jacobowitz8-41/+47
ppc-linux-tdep.c, ppcnbsd-tdep.c, sparc-linux-tdep.c, sparc64-linux-tdep.c: Update for unwinder changes.
2008-04-30 * mipsnbsd-tdep.c, mips64obsd-tdep.c, mips-linux-tdep.c: UpdateDaniel Jacobowitz5-155/+159
for unwinder changes. * mips-tdep.c: Likewise. (mips_stub_frame_cache): Unwind the ABI stack pointer, not the raw one.
2008-04-30 * arm-linux-tdep.c, arm-tdep.c, armobsd-tdep.c: Update forDaniel Jacobowitz4-79/+73
unwinder changes.
2008-04-30 Update i386 and amd64 ports for unwinder changes.Daniel Jacobowitz14-366/+299
* 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 * trad-frame.c (struct trad_frame_cache): Rename next_frame to this_frame.Daniel Jacobowitz6-92/+69
(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 * dwarf2-frame.c (read_reg): Expect this_frame in the baton.Daniel Jacobowitz10-206/+153
(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 Convert frame unwinders to use the current frame andDaniel Jacobowitz19-323/+689
"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.