X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2FChangeLog;h=4236270526ab67f642d017fe10a65247539a9d6e;hb=ebd3bcc1327e6a7de6daf6536134cb20be9c2cfd;hp=4161cadc0299a23dfdc1a4f289c46a512c144723;hpb=1af5d7ceb5960c714e55c2fdf80c22b52db84738;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4161cadc02..4236270526 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,504 @@ +2008-05-04 Jan Kratochvil + + * dwarf2loc.c (dwarf_expr_frame_base): Error out on missing + SYMBOL_LOCATION_BATON. + +2008-05-04 Vladimir Prus + + * target.h (struct target_ops): New field to_auxv_parse. + * auxv.c (default_auxv_parse): New, renamed from previous + target_auxv_parse. + (target_auxv_parse): Try to call target method. Fallback to + default_auxv_parse if not found. + * procfs.c (procfs_auxv_parse): New. + (init_procfs_ops): On Solaris, in 64-bit mode, install + procfs_auxv_parse. + +2008-05-03 Adam Nemet + + * symfile.c (add_symbol_file_command): Use paddress rather than + hex_string to print the address. + +2008-05-03 Ulrich Weigand + + * rs6000-tdep.c (rs6000_frame_this_id): If info->base is 0, + return the null frame ID to terminate the backtrace. + +2008-05-03 Ulrich Weigand + + * rs6000-tdep.c: Do not include "rs6000-tdep.h". + (rs6000_find_toc_address_hook): Move to rs6000-aix-tdep.c. + (SIG_FRAME_PC_OFFSET): Likewise. + (SIG_FRAME_LR_OFFSET): Likewise. + (SIG_FRAME_FP_OFFSET): Likewise. + (rs6000_push_dummy_call): Likewise. + (rs6000_return_value): Likewise. + (rs6000_convert_from_func_ptr_addr): Likewise. + (branch_dest, rs6000_software_single_step): Likewise. + (deal_with_atomic_sequence): Rename to ... + (ppc_deal_with_atomic_sequence): ... this. Adapt all callers. + Do not call branch_dest; inline required parts of that function. + (rs6000_skip_trampoline_code): Replace DEPRECATED_SYMBOL_NAME + with SYMBOL_LINKAGE_NAME. + (struct reg, regsize): Delete. + (read_memory_addr): Delete; inline into callers. + (rs6000_skip_prologue): Move after skip_prologue. + (skip_prologue): Remove prototype. + (rs6000_gdbarch_init): Remove sysv_abi variable; perform all + initialization as if this variable were true. Do not install + ppc64_sysv_abi_adjust_breakpoint_address. + + * rs6000-aix-tdep.c: Include "gdb_assert.h", "gdbtypes.h", + "gdbcore.h", "target.h", "value.h", "infcall.h", "objfiles.h", + and "breakpoint.h". + (rs6000_find_toc_address_hook): Move here from rs6000-tdep.c. + (SIG_FRAME_PC_OFFSET): Likewise. + (SIG_FRAME_LR_OFFSET): Likewise. + (SIG_FRAME_FP_OFFSET): Likewise. + (rs6000_push_dummy_call): Likewise. + (rs6000_return_value): Likewise. + (rs6000_convert_from_func_ptr_addr): Likewise. + (branch_dest, rs6000_software_single_step): Likewise. Replace + tdep->text_segment_base by AIX_TEXT_SEGMENT_BASE. + (rs6000_aix_init_osabi): Install rs6000_push_dummy_call, + rs6000_return_value, and rs6000_convert_from_func_ptr_addr. + Call set_gdbarch_long_double_bit and set_gdbarch_frame_red_zone_size. + Set tdep->lr_frame_offset. Do not set tdep->text_segment_base. + + * rs6000-tdep.h (rs6000_software_single_step): Remove prototype. + (AIX_TEXT_SEGMENT_BASE): New macro. + * rs6000-nat.c (exec_one_dummy_insn): Replace tdep->text_segment_base + by AIX_TEXT_SEGMENT_BASE. + + * ppc-tdep.h (ppc_deal_with_atomic_sequence): Add prototype. + (struct gdbarch_tdep): Remove text_segment_base member. + * ppc-linux-tdep.c (ppc_linux_init_abi): On 64-bit, install + ppc64_sysv_abi_adjust_breakpoint_address. + + * Makefile.in (rs6000-tdep.o): Update dependencies. + (rs6000-aix-tdep.o): Likewise. + +2008-05-03 Luis Machado + Thiago Jung Bauermann + + * cli/cli-decode.c (lookup_cmd_1): Fix indentation. + * doublest.c (convert_typed_floating): Fix typo in comment. + * dwarf2-frame.c (dwarf2_frame_cache): Likewise. + * frame-unwind.h (frame_sniffer_ftype): Likewise. + * frame.c (frame_unwind_address_in_block): Likewise. + * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Likewise. + * symtab.h (struct symbol): Likewise. + * tramp-frame.h (struct trad_frame_cache): Likewise. + * value.c (allocate_repeat_value): Likewise. + +2008-05-03 Ulrich Weigand + + * infrun.c (handle_inferior_event): Do not insert breakpoints at + TARGET_WAITKIND_LOADED events during startup (i.e. in the shell). + +2008-05-03 Pedro Alves + + * parse.c (parse_exp_in_context): Don't override + expression_context_pc if get_selected_block returned a valid + block. + +2008-05-03 Daniel Jacobowitz + + * alpha-tdep.h (ALPHA_REGISTER_BYTES): Delete. + * arm-tdep.h (STATUS_REGISTER_SIZE): Delete. + * breakpoint.c (args_for_catchpoint_enable, current_exception_event): + Delete. + * c-typeprint.c (c_type_print_base): Delete handling of template + instantiations. + * cp-support.h (METHOD_PTR_IS_VIRTUAL, METHOD_PTR_FROM_VOFFSET) + (METHOD_PTR_TO_VOFFSET): Delete. + * defs.h (QUIT_FIXME): Delete. + * f-lang.h (DEFAULT_DOTMAIN_NAME_IN_MF77, DEFAULT_MAIN_NAME_IN_MF77) + (DEFAULT_DOTMAIN_NAME_IN_XLF_BUGGY, DEFAULT_DOTMAIN_NAME_IN_XLF): Delete. + * gdbtypes.h (struct cplus_struct_type): Delete is_inlined, + ninstantiations, and instantiations. + (TYPE_INSTANTIATIONS, TYPE_NINSTANTIATIONS, TYPE_INSTANTIATION) + (TYPE_FN_FIELD_INLINED): Delete. + * srec.h (SREC_BINARY): Delete. + * symtab.c (symbol_init_demangled_name): Delete. + * symtab.h (SYMBOL_INIT_DEMANGLED_NAME, symbol_init_demangled_name) + (SYMBOL_OBJFILE, struct exception_event_record, CURRENT_EXCEPTION_KIND) + (CURRENT_EXCEPTION_CATCH_SAL, CURRENT_EXCEPTION_CATCH_LINE) + (CURRENT_EXCEPTION_CATCH_FILE, CURRENT_EXCEPTION_CATCH_PC) + (CURRENT_EXCEPTION_THROW_SAL, CURRENT_EXCEPTION_THROW_LINE) + (CURRENT_EXCEPTION_THROW_FILE, CURRENT_EXCEPTION_THROW_PC): Delete. + * target.h (enum thread_control_capabilities): Delete tc_switch. + (target_can_switch_threads): Delete. + +2008-05-03 Daniel Jacobowitz + + * Makefile.in (objfiles.o): Update. + * exec.c (exec_set_section_address): Support p->addr != 0. + * objfiles.c (objfile_relocate): Update exec_ops section + addresses. + * symfile.c (place_section): Move exec_set_section_address call... + (default_symfile_offsets): ...to here. + +2008-05-03 Ulrich Weigand + + * Makefile.in (ppc_linux_tdep_h): New macro. + (powerpc_32l_c, powerpc_altivec32_c, powerpc_altivec32l_c): Likewise. + (powerpc_64l_c, powerpc_altivec64_c, powerpc_altivec64l_c): Likewise. + (powerpc_e500l_c): Likewise. + (ppc-linux-nat.o): Update dependencies. + (ppc-linux-tdep.o): Update dependencies. + (rs6000-tdep.o): Update dependencies. + + * ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Remove. + (ppc_linux_svr4_fetch_link_map_offsets): Remove. + (ppc_linux_gregset, ppc_linux_fpregset): Move to ppc-linux-tdep.h + (ppc_supply_reg, ppc_collect_reg): Add prototypes. + (tdesc_powerpc_e500): Remove. + + * rs6000.c: Include "features/rs6000/powerpc-altivec32.c" + and "features/rs6000/powerpc-altivec64.c". + (ppc_supply_reg, ppc_collect_reg): Make global. + (variants): Use tdesc_powerpc_32 for "powerpc" and + tdesc_powerpc_altivec64 for "powerpc64". + (_initialize_rs6000_tdep): Initialize AltiVec descriptions. + + * ppc-linux-tdep.h: New file. + + * ppc-linux-tdep.c: Include "ppc-linux-tdep.c". + Include "features/rs6000/powerpc-32l.c". + Include "features/rs6000/powerpc-altivec32l.c". + Include "features/rs6000/powerpc-64l.c". + Include "features/rs6000/powerpc-altivec64l.c". + Include "features/rs6000/powerpc-e500l.c". + (ppc_linux_supply_gregset): New function. + (ppc_linux_collect_gregset): Handle orig_r3 and trap registers. + (ppc32_linux_gregset): Use ppc_linux_supply_gregset. + (ppc64_linux_gregset): Likewise. + (ppc_linux_sigtramp_cache): Handle orig_r3 and trap registers. + (ppc_linux_trap_reg_p): New function. + (ppc_linux_write_pc): New function. + (ppc_linux_core_read_description): New function. + (ppc_linux_init_abi): Install ppc_linux_write_pc and + ppc_linux_core_read_description. Install orig_r3 and trap + registers if present in the target description. + (_initialize_ppc_linux_tdep): Initialize Linux target descriptions. + + * ppc-linux-nat.c: Include "ppc-linux-tdep.h". + (PT_ORIG_R3, PT_TRAP): Define if necessary. + (ppc_register_u_addr): Handle orig_r3 and trap registers. + (fetch_ppc_registers): Likewise. + (store_ppc_registers): Likewise. + (store_register): Likewise. + (ppc_linux_read_description): Check whether AltiVec is supported. + Check whether inferior is 32-bit or 64-bit. Return the appropriate + Linux target description. + + * features/Makefile (WHICH): Use rs6000/powerpc-32l and + rs6000/powerpc-altivec32l instead of rs6000/powerpc-32. + Use rs6000/powerpc-64l and rs6000/powerpc-altivec64l instead + of rs6000/powerpc-64. Use rs6000/powerpc-e500l instead of + rs6000/powerpc-e500. Update -expedite variables accordingly. + + * features/rs6000/power-spe.xml: Use regnum 73 for "acc". + * features/rs6000/powerpc-32.xml: Do not include power-altivec.xml. + * features/rs6000/powerpc-64.xml: Do not include power-altivec.xml. + * features/rs6000/powerpc-e500.c: Regenerate. + * features/rs6000/powerpc-32.c: Regenerate. + * features/rs6000/powerpc-64.c: Regenerate. + + * features/rs6000/power-linux.xml: New file. + * features/rs6000/power64-linux.xml: New file. + * features/rs6000/powerpc-32l.xml: New file. + * features/rs6000/powerpc-altivec32l.xml: New file. + * features/rs6000/powerpc-64l.xml: New file. + * features/rs6000/powerpc-altivec64l.xml: New file. + * features/rs6000/powerpc-e500l.xml: New file. + * features/rs6000/powerpc-32l.c: New (generated) file. + * features/rs6000/powerpc-altivec32l.c: New (generated) file. + * features/rs6000/powerpc-64l.c: New (generated) file. + * features/rs6000/powerpc-altivec64l.c: New (generated) file. + * features/rs6000/powerpc-e500l.xml: New (generated) file. + + * regformats/reg-ppc.dat: Remove. + * regformats/reg-ppc64.dat: Remove. + * regformats/rs6000/powerpc-32.dat: Remove. + * regformats/rs6000/powerpc-64.dat: Remove. + * regformats/rs6000/powerpc-e500.dat: Remove. + * regformats/rs6000/powerpc-32l.dat: New (generated) file. + * regformats/rs6000/powerpc-altivec32l.dat: New (generated) file. + * regformats/rs6000/powerpc-64l.dat: New (generated) file. + * regformats/rs6000/powerpc-altivec64l.dat: New (generated) file. + * regformats/rs6000/powerpc-e500l.dat: New (generated) file. + +2008-05-03 Pedro Alves + + * thread.c (delete_thread): Call observer_notify_thread_exit. + * mi/mi-interp.c (mi_interpreter_init): Register mi_thread_exit as + thread_exit observer. + (mi_thread_exit): New. + +2008-05-03 Thiago Jung Bauermann + + * breakpoint.c (create_exception_catchpoint): Remove prototype + for already deleted function. + * breakpoint.h (ep_is_exception_catchpoint): Likewise. + * frame.h (show_stack_frame): Remove prototype. + * stack.c (show_stack_frame): Remove empty, unused function. + * source.c (symtab_to_fullname, print_source_lines): Small fix + in comment. + * value.c (show_values): Update comments to mention "show values" + command instead of "info history". + +2008-05-02 Ulrich Weigand + + * linespec.c: Include "target.h". + (minsym_found): Handle minimal symbols pointing to function + descriptors. Use find_function_start_pc. + * minsyms.c (msymbol_objfile): New function. + * parse.c (write_exp_msymbol): Handle minimal symbols pointing + to function descriptors. + * symtab.c (fixup_section): Only use minimal symbol at the same + address to determine section of a symbol. + (find_function_start_pc): New function. + (find_function_start_sal): Use it. + * symtab.h (msymbol_objfile): Add prototype. + (find_function_start_pc): Likewise. + * value.c: Include "objfiles.h". + (value_fn_field): Handle minimal symbols pointing to function + descriptors. + * Makefile.in (linespec.o): Update dependencies. + (value.o): Likewise. + +2008-05-02 Joel Brobecker + + * ada-lang.c (unwrap_value): Handle the case where the "F" field + inside a PAD type is a bitfield. + +2008-05-02 Ulrich Weigand + + * 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 + + * 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 + + * objfiles.c (init_entry_point_info): Handle shared libraries. + +2008-05-02 Daniel Jacobowitz + + * arm-tdep.c (arm_prologue_this_id): Compare pc, not func, to + lowest_pc. + +2008-05-02 Jim Blandy + Pedro Alves + + 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + 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 if no loc available. + (handle_gnu_v3_exceptions): Call generic breakpoint code to insert + catch and throw catchpoints. + +2008-05-01 Aleksandar Riswtovski + + 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 + + * 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 + + * exec.c (print_section_info): Add missing '\n'. + +2008-05-01 Vladimir Prus + + * thread.c (add_thread): Move observer call to ... + (add_thread_silent): ... here. + 2008-04-30 Ulrich Weigand * rs6000-tdep.c: Update for unwinder changes.