Age | Commit message (Collapse) | Author | Files | Lines |
|
set_gdbarch_process_record.
Initialize `arm_swi_record' field.
* arm-tdep.c (arm_process_record): New function.
(deallocate_reg_mem): New function.
(decode_insn): New function.
(thumb_record_branch): New function.
(thumb_record_ldm_stm_swi(): New function.
(thumb_record_misc): New function.
(thumb_record_ld_st_stack): New function.
(thumb_record_ld_st_imm_offset): New function.
(thumb_record_ld_st_reg_offset(): New function.
(thumb_record_add_sub_cmp_mov): New function.
(thumb_record_shift_add_sub): New function.
(arm_record_coproc_data_proc): New function.
(arm_record_coproc): New function.
(arm_record_b_bl): New function.
(arm_record_ld_st_multiple): New function.
(arm_record_ld_st_reg_offset): New function.
(arm_record_ld_st_imm_offset): New function.
(arm_record_data_proc_imm): New function.
(arm_record_data_proc_misc_ld_str): New function.
(arm_record_extension_space): New function.
(arm_record_strx): New function.
(sbo_sbz): New function.
(struct insn_decode_record): New structure for arm insn record.
(REG_ALLOC): New macro for reg allocations.
(MEM_ALLOC): New macro for memory allocations.
* arm-tdep.h (struct gdbarch_tdep): New field 'arm_swi_record'
|
|
(arm_register_g_packet_guesses): New function.
(arm_gdbarch_init): Don't force a target description with
registers when the executable is detected as M-profile. Instead
set gdbarch->tdep->is_m. Register `g' packet guesses.
(_initialize_arm_tdep): Initialize the new target description.
* features/arm-with-m-fpa-layout.xml: New description.
* features/arm-with-m-fpa-layout.c: New, generated.
|
|
"name" parameter to const char ** from char **. All callers updated.
(find_pc_partial_function): Ditto.
(cache_pc_function_name): Change type to const char * from char *.
* symtab.h ((find_pc_partial_function_gnu_ifunc): Update.
(find_pc_partial_function): Update.
* alpha-tdep.h (struct gdbarch_tdep, member pc_in_sigtramp): Change
type of "name" parameter to const char * from char *.
All uses updated.
* arch-utils.c (generic_in_solib_return_trampoline): Change
type of "name" parameter to const char * from char *.
* arch-utils.h (generic_in_solib_return_trampoline): Update.
* frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Change
type of "name" parameter to const char * from char *.
* gdbarch.sh (in_solib_return_trampoline): Ditto.
* gdbarch.c: Regenerate.
* gdbarch.h: Regenerate.
* hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Update.
* rs6000-tdep.c (rs6000_in_solib_return_trampoline): Update.
* m32r-linux-tdep.c (m32r_linux_pc_in_sigtramp): Change
type of "name" parameter to const char * from char *.
* skip.c (skip_function_pc): Ditto.
* sparc-sol2-tdep.c (sparc_sol2_pc_in_sigtramp): Ditto.
* sparc-tdep.h (sparc_sol2_pc_in_sigtramp): Update.
* sparc64fbsd-tdep.c (sparc64fbsd_pc_in_sigtramp): Ditto.
* sparc64nbsd-tdep.c (sparc64nbsd_pc_in_sigtramp): Ditto.
* sparc64obsd-tdep.c (sparc64obsd_pc_in_sigtramp): Ditto.
* sparcnbsd-tdep.c (sparc32nbsd_pc_in_sigtramp): Ditto.
* sparcobsd-tdep.c (sparc32obsd_pc_in_sigtramp): Ditto.
* nbsd-tdep.c (nbsd_pc_in_sigtramp): Similary for "func_name".
* nbsd-tdep.h (nbsd_pc_in_sigtramp): Update.
|
|
Code cleanup: Make 1440 bytes of data segment read-only.
* arch-utils.c (endian_enum): Make it const char *const [].
* arm-tdep.c (fp_model_strings, arm_abi_strings, arm_mode_strings):
Likewise.
* breakpoint.c (always_inserted_enums): Likewise.
* cli/cli-cmds.c (script_ext_enums): Likewise.
* cli/cli-decode.c (add_setshow_enum_cmd, complete_on_enum): Make the
enumlist parameter const char *const *.
* cli/cli-decode.h (struct cmd_list_element): Make the enums field
const char *const *.
* command.h (complete_on_enum, add_setshow_enum_cmd): Make the enumlist
parameter const char *const *.
* cris-tdep.c (cris_modes): Make it const char *const [].
* filesystem.c (target_file_system_kinds): Likewise.
* i386-tdep.c (valid_flavors, valid_conventions): Likewise.
* infrun.c (follow_fork_mode_kind_names, follow_exec_mode_names)
(can_use_displaced_stepping_enum, scheduler_enums)
(exec_direction_names): Likewise.
* language.c (_initialize_language): Make the type_or_range_names and
case_sensitive_names variables const char *const [].
* mips-tdep.c (mips_abi_strings): Make it const char *const [].
* python/python.c (python_excp_enums): Likewise.
* remote.c (interrupt_sequence_modes): Likewise.
* rs6000-tdep.c (powerpc_vector_strings): Likewise.
* serial.c (logbase_enums): Likewise.
* sh-tdep.c (sh_cc_enum): Likewise.
* stack.c (print_frame_arguments_choices, print_entry_values_choices):
Likewise.
* symtab.c (multiple_symbols_modes): Likewise.
* tui/tui-win.c (tui_border_kind_enums, tui_border_mode_enums):
Likewise.
* utils.c (internal_problem_modes): Likewise.
|
|
gdb/ChangeLog:
Copyright year update in most files of the GDB Project.
|
|
PR tdep/12797
* arm-tdep.c (arm_return_value): Handle complex types.
gdb/testsuite/
PR tdep/12797
* gdb.base/callfuncs.exp: Remove KFAIL.
|
|
* arm-tdep.c (thumb_deal_with_atomic_sequence_raw): New function.
(arm_deal_with_atomic_sequence_raw): Likewise.
(arm_deal_with_atomic_sequence): Likewise.
(arm_software_single_step): Call it.
* arm-linux-tdep.c (arm_linux_software_single_step): Likewise.
|
|
* arm-tdep.c (thumb_analyze_prologue): Always fallback on the SP
register when the frame can't be determined.
* arm-tdep.c (arm_analyze_prologue): Ditto.
gdb/testsuite/
* gdb.arch/thumb-prologue.c (switch_stack_to_same): New test function.
(switch_stack_to_other): New test function.
* gdb.arch/thumb-prologue.exp: New test cases.
|
|
* arm-tdep.c (thumb_analyze_prologue): Call thumb_insn_size to check
whether insn is a 32-bit Thumb-2 instruction.
(thumb_in_function_epilogue_p): Likewise.
(thumb_get_next_pc_raw): Likewise.
(arm_breakpoint_from_pc): Likewise.
|
|
* arm-tdep.c (arm_get_next_pc_raw): Use read_memory_unsigned_integer
to get address.
|
|
gdb/
* arm-tdep.c (THUMB_NOP) Define.
(thumb_copy_unmodified_16bit): New.
(thumb_copy_b, thumb_copy_bx_blx_reg): New.
(thumb_copy_alu_reg): New.
(arm_copy_svc): Move some common code to ...
(install_svc): ... here. New.
(thumb_copy_svc): New.
(install_pc_relative): New.
(thumb_copy_pc_relative_16bit): New.
(thumb_decode_pc_relative_16bit): New.
(thumb_copy_16bit_ldr_literal): New.
(thumb_copy_cbnz_cbz): New.
(cleanup_pop_pc_16bit_all): New.
(thumb_copy_pop_pc_16bit): New.
(thumb_process_displaced_16bit_insn): New.
(thumb_process_displaced_32bit_insn): New.
(thumb_process_displaced_insn): process thumb instruction.
Support displaced stepping for Thumb 32-bit insns.
gdb/
* arm-tdep.c (thumb_copy_unmodified_32bit): New.
(thumb2_copy_preload): New.
(thumb2_copy_copro_load_store): New.
(thumb2_copy_b_bl_blx): New.
(thumb2_copy_alu_imm): New.
(thumb2_copy_load_reg_imm): New.
(thumb2_copy_load_literal): New
(thumb2_copy_block_xfer): New.
(thumb_32bit_copy_undef): New.
(thumb_32bit_copy_unpred): New.
(thumb2_decode_ext_reg_ld_st): New.
(thumb2_decode_svc_copro): New.
(decode_thumb_32bit_store_single_data_item): New.
(thumb_copy_pc_relative_32bit): New.
(thumb_decode_pc_relative_32bit): New.
(decode_thumb_32bit_ld_mem_hints): New.
(thumb2_copy_table_branch): New
(thumb_process_displaced_32bit_insn): Process Thumb 32-bit
instructions.
gdb/testsuite/
* gdb.arch/arm-disp-step.S (test_ldr_literal): Test for Thumb
instructions.
(test_adr_32bit, test_pop_pc): Likewise.
(test_ldr_literal_16, test_cbz_cbnz, test_adr): New test for
Thumb instructions.
* gdb.arch/arm-disp-step.exp (test_ldm_stm_pc): Match $gdb_prompt
in gdb_test_multiple.
(test_ldr_literal_16, test_cbz_cbnz, test_adr): New.
|
|
* arm-tdep.c (install_copro_load_store): PC is set 4-byte aligned.
(install_b_bl_blx): Likewise.
|
|
* arm-tdep.c (install_ldr_str_ldrb_strb): Renamed to ...
(install_load_store): ... this. New.
Change parameter BYTE to SIZE.
(arm_copy_ldr_str_ldrb_strb): Update caller.
(arm_decode_ld_st_word_ubyte): Update caller.
|
|
* solib-svr4.c (open_symbol_file_object): Call do_cleanups on all
return paths. Defer final do_cleanups until last return.
* arm-tdep.c (arm_exidx_new_objfile): Make null cleanup after
early return.
|
|
(AT_HWCAP): Define.
(ARM_LINUX_SIZEOF_VFP): Define.
(arm_linux_supply_vfp): New function.
(arm_linux_collect_vfp): Likewise.
(arm_linux_regset_from_core_section): Handle .reg-arm-vfp sections.
(arm_linux_fpa_regset_sections): New variable.
(arm_linux_vfp_regset_sections): Likewise.
(arm_linux_core_read_description): New function.
(arm_linux_init_abi): Install arm_linux_core_read_description and
arm_linux_fpa_regset_sections or arm_linux_vfp_regset_sections as
appropriate for the architecture.
* arm-tdep.h (struct gdbarch_tdep): Add member "vfpregset".
(tdesc_arm_with_m): Declare.
(tdesc_arm_with_iwmmxt): Likewise.
(tdesc_arm_with_vfpv2): Likewise.
(tdesc_arm_with_vfpv3): Likewise.
(tdesc_arm_with_neon): Likewise.
* arm-linux-nat.c: Move features/*.c includes ...
* arm-tdep.c: ... here.
* arm-linux-nat.c (arm_linux_read_description): Move initializing
target description data structures ...
* arm-tdep.c (_initialize_arm_tdep): ... here.
* arm-linux-nat.c (HWCAP_VFP, HWCAP_IWMMXT, HWCAP_NEON, HWCAP_VFPv3,
HWCAP_VFPv3D16): Move definitions ...
* arm-linux-tdep.h: ... here.
|
|
* arm-tdep.c (copy_unmodified): Rename to ...
(arm_copy_unmodified): .. this. New.
(copy_preload): Move common part to ...
(install_preload): .. this. New.
(arm_copy_preload): New.
(copy_preload_reg): Move common part to ...
(install_preload_reg): ... this. New.
(arm_copy_preload_reg): New.
(copy_b_bl_blx): Move common part to ...
(install_b_bl_blx): .. this. New.
(arm_copy_b_bl_blx): New.
(copy_bx_blx_reg): Move common part to ...
(install_bx_blx_reg): ... this. New.
(arm_copy_bx_blx_reg): New.
(copy_alu_reg): Move common part to ...
(install_alu_reg): ... this. New.
(arm_copy_alu_reg): New.
(copy_alu_shifted_reg): Move common part to ...
(install_alu_shifted_reg): ... this. New.
(copy_ldr_str_ldrb_strb): Move common part to ...
(install_ldr_str_ldrb_strb): ... this. New.
(arm_copy_ldr_str_ldrb_strb): New.
(copy_copro_load_store): Move some common part to ...
(install_copy_copro_load_store): ... this. New.
(arm_copy_copro_load_store): New.
(copy_svc): Delete.
(arm_copy_svc): Renamed from copy_svc.
(copy_undef): Delete.
(arm_copy_undef): Renamed from copy_undef.
(decode_ext_reg_ld_st): Delete.
(arm_decode_ext_reg_ld_st): Renamed from decode_ext_reg_ld_st.
(decode_svc_copro): Delete.
(arm_decode_svc_copro): Renamed from decode_svc_copro.
(copy_copro_load_store, copy_alu_imm): update callers.
(copy_extra_ld_st, copy_block_xfer): Likewise.
(decode_misc_memhint_neon, decode_unconditional): Likewise.
(decode_miscellaneous, decode_dp_misc): Likewise.
(decode_ld_st_word_ubyte, decode_media): Likewise.
(decode_b_bl_ldmstm, decode_ext_reg_ld_st): Likewise.
(decode_svc_copro, decode_misc_memhint_neon): Likewise.
(decode_unconditional, decode_miscellaneous): Likewise.
(decode_media, decode_b_bl_ldmstm): Likewise.
(arm_process_displaced_insn): Likewise..
(decode_misc_memhint_neon): Delete.
(arm_decode_misc_memhint_neon): Renamed from decode_misc_memhint_neon.
(decode_miscellaneous): Delete.
(arm_decode_miscellaneous): Renamed from decode_miscellaneous.
(decode_dp_misc): Delete.
(arm_decode_dp_misc): Renamed from decode_dp_misc.
(decode_ld_st_word_ubyte): Delete.
(arm_decode_ld_st_word_ubyte): Renamed from decode_ld_st_word_ubyte.
(decode_media): Delete.
(arm_decode_media): Renamed from decode_media.
(decode_b_bl_ldmstm): Delete.
(arm_decode_b_bl_ldmstm): Renamed from decode_b_bl_ldmstm.
(decode_ext_reg_ld_st): Delete.
(arm_decode_ext_reg_ld_st): Renamed from decode_ext_reg_ld_st.
(decode_unconditional): Delete.
(arm_decode_unconditional): Renamed from decode_unconditional.
|
|
* windows-tdep.c (windows_xfer_shared_library):
* windows-nat.c (get_module_name, windows_make_so):
* v850-tdep.c (v850_handle_pushm):
* utils.c (null_cleanup, gdb_realpath):
* ui-out.c (get_next_header):
* tracepoint.c (clear_traceframe_info):
* symtab.c (lookup_symtab):
* serial.h (struct serial_ops):
* mipsread.c (read_alphacoff_dynamic_symtab):
* infcmd.c (print_return_value):
* ia64-linux-tdep.c (ia64_linux_sigcontext_register_address):
* f-exp.y (parse_number):
* exceptions.c (catch_exceptions):
* dummy-frame.c (dummy_frame_this_id):
* defs.h (struct cleanup):
* breakpoint.c (disable_breakpoints_in_unloaded_shlib):
* arm-tdep.c (arm_push_dummy_call):
* amd64-tdep.h (amd64_collect_xsave):
* amd64-tdep.c (amd64_collect_xsave):
* alpha-tdep.c (alpha_heuristic_frame_unwind_cache):
* README (typing): Remove duplicate words.
* cli/cli-decode.c (lookup_cmd_composition): Add comma.
* infrun.c (siginfo_value_read): Fix typo.
* solib-frv.c (frv_fdpic_find_global_pointer): Likewise.
* top.c (source_line_number): Add comma.
gdb/doc
* gdbint.texinfo (Register Information Functions): Remove
duplicate "the".
* gdb.texinfo (Emacs): Remove duplicate "to".
(GDB/MI Variable Objects): Remove duplicate "the".
(General Query Packets): Likewise.
gdb/testsuite
* gdb.mi/mi-nsmoribund.exp:
* gdb.hp/gdb.objdbg/objdbg01.exp:
* gdb.base/structs.exp (test_struct_returns):
* gdb.base/call-sc.exp (test_scalar_returns):
* gdb.base/bigcore.exp: Remove duplicate words.
gdb/gdbserver
* win32-low.c (handle_load_dll): Remove duplicate "the".
|
|
* arm-linux-tdep.c (arm_linux_copy_svc): Remove parameters INSN
and TO.
* arm-tdep.c (cleanup_svc): Handle variable instruction size.
(arm_copy_svc): Remove parameters INSN and TO.
(decode_svc_copro): Update caller.
* arm-tdep.h (struct displaced_step_closure): Remove parameters
from function pointer `copy_svc_os'.
|
|
LR for ARM and Thumb.
|
|
for "fpscr" in target description.
|
|
* arm-tdep.h (arm_insert_single_step_breakpoint): Add prototype.
* arm-tdep.c (arm_override_mode): New global.
(arm_pc_is_thumb): Respect arm_override_mode. Remove single-step
execution mode heuristics.
(thumb_get_next_pc_raw): Remove INSERT_BKTP argument; always insert
second single-step breakpoint if needed, using
arm_insert_single_step_breakpoint.
(arm_get_next_pc_raw): Remove INSERT_BKTP argument. Only handle
ARM execution mode, do not call thumb_get_next_pc_raw.
(arm_get_next_pc): Encode execution mode in return value. Call
either arm_get_next_pc_raw or thumb_get_next_pc_raw.
(arm_insert_single_step_breakpoint): New function.
(arm_software_single_step): Call it.
* arm-linux-tdep.c (arm_linux_sigreturn_return_addr): Add IS_THUMB
argument to return execution mode of sigreturn target.
(arm_linux_syscall_next_pc): Use it.
(arm_linux_copy_svc): Update call.
(arm_linux_software_single_step): Call
arm_insert_single_step_breakpoint.
gdb/testsuite/
* gdb.arch/thumb-singlestep.S: New file.
* gdb.arch/thumb-singlestep.exp: Likewise.
|
|
instead of checking for STT_ARM_TFUNC symbol type.
|
|
encountering a load via a non-SP register.
|
|
* frame.c (frame_unwind_register): Throw an error if unwinding the
register failed.
* get_prev_frame_1 (get_prev_frame_1): Ask the unwinder if there's
an unwind stop reason.
(frame_stop_reason_string): Handle UNWIND_UNAVAILABLE.
* frame.h (enum unwind_stop_reason) <UNWIND_OUTERMOST,
UNWIND_UNAVAILABLE>: New.
* inline-frame.c (inline_frame_unwind): Install
default_frame_unwind_stop_reason.
* frame-unwind.c: Include "exceptions.h".
(frame_unwind_find_by_frame): Swallow NOT_AVAILABLE_ERROR errors.
(default_frame_unwind_stop_reason): New.
* frame-unwind.h (frame_unwind_stop_reason_ftype): New typedef.
(default_frame_unwind_stop_reason): Declare.
(struct frame_unwind) <stop_reason>: New function pointer.
* dummy-frame.c: Install default_frame_unwind_stop_reason.
* dwarf2-frame.c: Include exceptions.h.
(struct dwarf2_frame_cache) <unavailable_retaddr>: New field.
(dwarf2_frame_cache): Swallow NOT_AVAILABLE_ERROR errors when
computing the CFA. If such an error was thrown, set
unavailable_retaddr.
(dwarf2_frame_unwind_stop_reason): New.
(dwarf2_frame_this_id): Don't build a frame id if the CFA was
unavailable.
(dwarf2_frame_unwind): Install dwarf2_frame_unwind_stop_reason.
(dwarf2_signal_frame_unwind): Ditto.
* amd64-tdep.c: Include "exceptions.h".
(struct amd64_frame_cache): New field "base_p".
(amd64_init_frame_cache): Clear it.
(amd64_frame_cache_1): New, factored out from amd64_frame_cache.
Avoid reading registers with functions that throw if the register
is not necessary to compute the frame base.
(amd64_frame_cache): Reimplement wrapping amd64_frame_cache_1, and
swallowing NOT_AVAILABLE_ERROR.
(amd64_frame_unwind_stop_reason): New.
(amd64_frame_this_id): Don't build a frame id if the frame base
was unavailable.
(amd64_frame_unwind): Install amd64_frame_unwind_stop_reason.
(amd64_sigtramp_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
base_p if the frame base was computable.
(amd64_sigtramp_frame_unwind_stop_reason): New.
(amd64_sigtramp_frame_this_id): Don't build a frame id if the
frame base was unavailable.
(amd64_sigtramp_frame_unwind): Install
amd64_sigtramp_frame_unwind_stop_reason.
(amd64_epilogue_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
base_p if the frame base was computable.
(amd64_epilogue_frame_unwind_stop_reason): New.
(amd64_epilogue_frame_this_id): Don't build a frame id if the
frame base was unavailable.
(amd64_epilogue_frame_unwind): Install
amd64_epilogue_frame_unwind_stop_reason.
* i386-tdep.c: Include "exceptions.h".
(struct i386_frame_cache): New field "base_p".
(i386_init_frame_cache): Clear it.
(i386_frame_cache_1): New, factored out from amd64_frame_cache.
Avoid reading registers with functions that throw if the register
is not necessary to compute the frame base.
(i386_frame_cache): Reimplement wrapping amd64_frame_cache_1, and
swallowing NOT_AVAILABLE_ERROR.
(i386_frame_unwind_stop_reason): New.
(i386_frame_this_id): Don't build a frame id if the frame base was
unavailable.
(i386_frame_prev_register): Handle unavailable SP.
(i386_frame_unwind): Install i386_frame_unwind_stop_reason.
(i386_epilogue_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
base_p if the frame base was computable.
(i386_epilogue_frame_unwind_stop_reason): New.
(i386_epilogue_frame_this_id): Don't build a frame id if the frame
base was unavailable.
(i386_epilogue_frame_unwind): Install
i386_epilogue_frame_unwind_stop_reason.
(i386_sigtramp_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
base_p if the frame base was computable.
(i386_sigtramp_frame_unwind_stop_reason): New.
(i386_sigtramp_frame_this_id): Don't build a frame id if the frame
base was unavailable.
(i386_sigtramp_frame_unwind): Install
i386_sigtramp_frame_unwind_stop_reason.
* sentinel-frame.c (sentinel_frame_prev_register): Use the value
type's size, not the register's.
(sentinel_frame_unwind): Install default_frame_unwind_stop_reason.
* alpha-mdebug-tdep.c (alpha_mdebug_frame_unwind): Install
default_frame_unwind_stop_reason.
* alpha-tdep.c (alpha_sigtramp_frame_unwind)
(alpha_heuristic_frame_unwind): Ditto.
* amd64obsd-tdep.c (amd64obsd_trapframe_unwind): Ditto.
* arm-tdep.c (arm_prologue_unwind, arm_stub_unwind): Ditto.
* avr-tdep.c (avr_frame_unwind): Ditto.
* cris-tdep.c (cris_sigtramp_frame_unwind, cris_frame_unwind):
Ditto.
* frv-linux-tdep.c (frv_linux_sigtramp_frame_unwind): Ditto.
* frv-tdep.c (frv_frame_unwind): Ditto.
* h8300-tdep.c (h8300_frame_unwind): Ditto.
* hppa-hpux-tdep.c (hppa_hpux_sigtramp_frame_unwind): Ditto.
* hppa-linux-tdep.c (hppa_linux_sigtramp_frame_unwind): Ditto.
* hppa-tdep.c (hppa_frame_unwind, hppa_fallback_frame_unwind)
(hppa_stub_frame_unwind): Ditto.
* i386obsd-tdep.c (i386obsd_trapframe_unwind): Ditto.
* ia64-tdep.c (ia64_frame_unwind, ia64_sigtramp_frame_unwind)
(ia64_libunwind_frame_unwind)
(ia64_libunwind_sigtramp_frame_unwind): Ditto.
* iq2000-tdep.c (iq2000_frame_unwind): Ditto.
* lm32-tdep.c (lm32_frame_unwind): Ditto.
* m32c-tdep.c (m32c_unwind): Ditto.
* m32r-linux-tdep.c (m32r_linux_sigtramp_frame_unwind): Ditto.
* m32r-tdep.c (m32r_frame_unwind): Ditto.
* m68hc11-tdep.c (m68hc11_frame_unwind): Ditto.
* m68k-tdep.c (m68k_frame_unwind): Ditto.
* m68klinux-tdep.c (m68k_linux_sigtramp_frame_unwind): Ditto.
* m88k-tdep.c (m88k_frame_unwind): Ditto.
* mep-tdep.c (mep_frame_unwind): Ditto.
* microblaze-tdep.c (microblaze_frame_unwind): Ditto.
* mips-tdep.c (mips_insn16_frame_unwind, mips_insn32_frame_unwind)
(mips_stub_frame_unwind): Ditto.
* mn10300-tdep.c (mn10300_frame_unwind): Ditto.
* moxie-tdep.c (moxie_frame_unwind): Ditto.
* mt-tdep.c (mt_frame_unwind): Ditto.
* ppc-linux-tdep.c (ppu2spu_unwind): Ditto.
* ppcobsd-tdep.c (ppcobsd_sigtramp_frame_unwind): Ditto.
* rs6000-tdep.c (rs6000_frame_unwind): Ditto.
* s390-tdep.c (s390_frame_unwind, s390_stub_frame_unwind)
(s390_sigtramp_frame_unwind): Ditto.
* score-tdep.c (score_prologue_unwind): Ditto.
* sh-tdep.c (sh_frame_unwind): Ditto.
* sh64-tdep.c (sh64_frame_unwind): Ditto.
* sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_unwind): Ditto.
* sparc-tdep.c (sparc32_frame_unwind): Ditto.
* sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_unwind): Ditto.
* sparc64-tdep.c (sparc64_frame_unwind): Ditto.
* sparc64fbsd-tdep.c (sparc64fbsd_sigtramp_frame_unwind): Ditto.
* sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_frame_unwind): Ditto.
* sparc64obsd-tdep.c (sparc64obsd_frame_unwind)
(sparc64obsd_trapframe_unwind): Ditto.
* sparcnbsd-tdep.c (sparc32nbsd_sigcontext_frame_unwind): Ditto.
* sparcobsd-tdep.c (sparc32obsd_sigtramp_frame_unwind): Ditto.
* spu-tdep.c (spu_frame_unwind, spu2ppu_unwind): Ditto.
* v850-tdep.c (v850_frame_unwind): Ditto.
* vax-tdep.c (vax_frame_unwind): Ditto.
* vaxobsd-tdep.c (vaxobsd_sigtramp_frame_unwind): Ditto.
* xstormy16-tdep.c (frame_unwind xstormy16_frame_unwind): Ditto.
* xtensa-tdep.c (xtensa_unwind): Ditto.
|
|
* regcache.h (regcache_raw_read, regcache_raw_read_signed)
(regcache_raw_read_unsigned, regcache_raw_read_signed)
(regcache_raw_read_unsigned, regcache_raw_read_part)
(regcache_cooked_read, regcache_cooked_read_signed)
(regcache_cooked_read_unsigned, regcache_cooked_read_part)
(regcache_cooked_read_ftype): Change return to enum
register_status.
* regcache.c: Include exceptions.h
(regcache_save): Adjust to handle REG_UNAVAILABLE registers.
(do_cooked_read): Change return to enum register_status. Always
forward to regcache_cooked_read.
(regcache_raw_read): Change return to enum register_status. If
the register is not REG_VALID, memset the buffer. Return the
register's status.
(regcache_raw_read_signed): Handle non-REG_VALID registers and
return the register's status.
(regcache_raw_read_unsigned): Ditto.
(regcache_cooked_read): Change return to enum register_status.
Assert that with read-only regcaches, the register's status must
be known. If the regcache is read-only, and the register is not
REG_VALID, memset the buffer. Return the register's status.
(regcache_cooked_read_signed): Change return to enum
register_status. Handle non-REG_VALID registers and return the
register's status.
(regcache_cooked_read_unsigned): Change return to enum
register_status. Handle non-REG_VALID registers and return the
register's status.
(regcache_xfer_part, regcache_raw_read_part)
(regcache_cooked_read_part): Change return to enum
register_status. Return the register's status.
(regcache_read_pc): Throw NOT_AVAILABLE_ERROR if the register is
unavailable.
(regcache_dump): Handle unavailable cooked registers.
* frame.c (do_frame_register_read): Adjust interface to match
regcache_cooked_read_ftype.
* gdbarch.sh (pseudo_register_read): Change return to enum
register_status.
* gdbarch.h, gdbarch.c: Regenerate.
* i386-tdep.h (i386_pseudo_register_read): Change return to enum
register_status.
* i386-tdep.c (i386_pseudo_register_read): Change return to enum
register_status. If reading a raw register indicates the raw
register is not valid, return the raw register's status,
otherwise, return REG_VALID.
* amd64-tdep.c (amd64_pseudo_register_read): Change return to enum
register_status. Handle non-REG_VALID raw registers and return
the register's status.
* arm-tdep.c (arm_neon_quad_read)
(arm_pseudo_read): Change return to enum register_status. Handle
non-REG_VALID raw registers and return the register's status.
* avr-tdep.c (avr_pseudo_register_read): Ditto.
* frv-tdep.c (frv_pseudo_register_read): Ditto.
* h8300-tdep.c (h8300_pseudo_register_read): Ditto.
* hppa-tdep.c (hppa_pseudo_register_read): Ditto.
* m32c-tdep.c (m32c_move_reg_t): Change return to enum
register_status.
(m32c_raw_read, m32c_raw_write, m32c_banked_read)
(m32c_banked_write, m32c_sb_read, m32c_sb_write, m32c_part_read)
(m32c_part_write, m32c_cat_read, m32c_cat_write)
(m32c_r3r2r1r0_read, m32c_r3r2r1r0_write)
(m32c_pseudo_register_read): Change return to enum
register_status. Adjust.
* m68hc11-tdep.c (m68hc11_pseudo_register_read): Change return to
enum register_status. Return the register's status.
* mep-tdep.c (mep_pseudo_cr32_read): Change return to enum
register_status. Return the register's status.
(mep_pseudo_cr64_read, mep_pseudo_register_read): Ditto.
* mips-tdep.c (mips_pseudo_register_read): Ditto.
* mt-tdep.c (mt_pseudo_register_read): Ditto.
* rs6000-tdep.c (move_ev_register_func): New typedef.
(e500_move_ev_register): Use it. Change return to enum
register_status. Return the register's status.
(do_regcache_raw_read): New function.
(do_regcache_raw_write): New function.
(e500_pseudo_register_read): Change return to enum
register_status. Return the register's status. Use
do_regcache_raw_read.
(e500_pseudo_register_write): Adjust. Use do_regcache_raw_write.
(dfp_pseudo_register_read): Change return to enum register_status.
Return the register's status.
(vsx_pseudo_register_read): Ditto.
(efpr_pseudo_register_read): Ditto.
(rs6000_pseudo_register_read): Ditto.
* s390-tdep.c (s390_pseudo_register_read): Change return to enum
register_status. Return the register's status.
* sh64-tdep.c (pseudo_register_read_portions): New function.
(sh64_pseudo_register_read): Change return to enum
register_status. Use pseudo_register_read_portions. Return the
register's status.
* ia64-tdep.c (ia64_pseudo_register_read): Change return to enum
register_status. Return the register's status.
* sh-tdep.c (pseudo_register_read_portions): New function.
(sh_pseudo_register_read): Change return to enum register_status.
Use pseudo_register_read_portions. Return the register's status.
* sparc-tdep.c (sparc32_pseudo_register_read): Change return to
enum register_status. Return the register's status.
* sparc64-tdep.c (sparc64_pseudo_register_read): Ditto.
* spu-tdep.c (spu_pseudo_register_read_spu)
(spu_pseudo_register_read): Ditto.
* xtensa-tdep.c (xtensa_register_read_masked)
(xtensa_pseudo_register_read): Ditto.
* bfin-tdep.c (bfin_pseudo_register_read): Ditto.
|
|
* arm-tdep.c (copy_ldr_str_ldrb_strb): Remove redundant statements.
|
|
* arm-tdep.c: Remove prototype declaration displaced_in_arm_mode.
(displaced_read_reg): Add `dsc' parameter, remove `from' parameter.
Use cached result instead of calling displaced_in_arm_mode again.
(branch_write_pc, alu_write_pc, load_write_pc): Add `dsc' parameter.
(displaced_write_reg, copy_preload, copy_preload_reg): Callers update.
(cleanup_copro_load_store, copy_copro_load_store): Likewise.
(cleanup_branch, copy_bx_blx_reg, copy_alu_imm): Likewise.
(cleanup_alu_reg, copy_alu_reg, cleanup_alu_shifted_reg): Likewise.
(copy_alu_shifted_reg, cleanup_load, cleanup_store): Likewise.
(copy_extra_ld_st, copy_ldr_str_ldrb_strb): Likewise.
(cleanup_block_load_all, cleanup_block_store_pc): Likewise.
(cleanup_block_load_pc, copy_block_xfer): Likewise.
* arm-linux-tdep.c (arm_linux_copy_svc): Callers update.
(arm_catch_kernel_helper_return): Likewise.
* gdb/arm-tdep.h : Update function declarations.
|
|
* gdb/arm-tdep.c (shifted_reg_val): Replace magic number 15 with
ARM_PC_REGNUM.
(thumb_get_next_pc_raw, arm_get_next_pc_raw): Likewise.
(displaced_write_reg, displaced_read_reg): Likewise.
(copy_ldr_str_ldrb_strb, cleanup_block_load_all): Likewise.
(cleanup_block_load_pc, copy_block_xfer): Likewise.
(cleanup_branch): Replace magic number 14 and 15 with
ARM_LR_REGNUM and ARM_PC_REGNUM respectively.
|
|
* arm-tdep.h (struct displaced_step_closure): Add two new fields
is_thumb and insn_size.
* arm-tdep.c (displaced_read_reg): Adjust correct pipeline offset
on both ARM and Thumb mode.
(arm_process_displaced_insn): Set is_thumb and insn_size.
(arm_displaced_init_closure): Handle both 16-bit and 32-bit.
(arm_displaced_step_fixup): Likewise.
|
|
(arm_linux_restart_syscall_init): Handle both on-stack and in-kernel
versions of the trampoline. Handle Thumb vs. ARM addresses.
(arm_kernel_linux_restart_syscall_tramp_frame): New global.
(arm_linux_init_abi): Install it.
* arm-tdep.c (arm_psr_thumb_bit): Make global.
* arm-tdep.c (arm_psr_thumb_bit): Add prototype.
|
|
* arm-tdep.c: Fix typos in comments.
* bsd-uthread.c: Ditto.
* completer.c: Ditto.
* corelow.c: Ditto.
* cp-namespace.c: Ditto.
* cp-support.c: Ditto.
* cris-tdep.c: Ditto.
* dbxread.c: Ditto.
* dwarf2read.c: Ditto.
* frame.h: Ditto.
* gdbtypes.h: Ditto.
* inferior.h: Ditto.
* mdebugread.c: Ditto.
* mips-tdep.c: Ditto.
* ppc-linux-nat.c: Ditto.
* ppc-linux-tdep.c: Ditto.
* printcmd.c: Ditto.
* sol-thread.c: Ditto.
* solib-frv.c: Ditto.
* solist.h: Ditto.
* sparc64-tdep.c: Ditto.
* spu-tdep.c: Ditto.
* stabsread.c: Ditto.
* symfile.c: Ditto.
* valops.c: Ditto.
* varobj.c: Ditto.
* vax-nat.c: Ditto.
* python/py-block.c: Ditto.
* python/py-symbol.c: Ditto.
* python/py-symtab.c: Ditto.
* python/py-value.c: Ditto.
* tui/tui-win.c: Ditto.
|
|
* arm-linux-nat.c: Include "observer.h" and "gdbthread.h".
(PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define.
(struct arm_linux_hwbp_cap): New type.
(arm_linux_get_hwbp_cap): New function.
(arm_linux_get_hw_breakpoint_count): Likewise.
(arm_linux_get_hw_watchpoint_count): Likewise.
(arm_linux_can_use_hw_breakpoint): Likewise.
(arm_hwbp_type): New type.
(arm_hwbp_control_t): Likewise.
(struct arm_linux_hw_breakpoint): Likewise.
(struct arm_linux_thread_points): Likewise.
(arm_threads): New global variable.
(arm_linux_find_breakpoints_by_tid): New function.
(arm_hwbp_control_initialize): Likewise.
(arm_hwbp_control_is_enabled): Likewise.
(arm_hwbp_control_disable): Likewise.
(arm_linux_hw_breakpoint_initialize): Likewise.
(arm_linux_get_hwbp_type): Likewise.
(arm_linux_hw_watchpoint_initialize): Likewise.
(arm_linux_hw_breakpoint_equal): Likewise.
(arm_linux_insert_hw_breakpoint1): Likewise.
(arm_linux_remove_hw_breakpoint1): Likewise.
(arm_linux_insert_hw_breakpoint): Likewise.
(arm_linux_remove_hw_breakpoint): Likewise.
(arm_linux_region_ok_for_hw_watchpoint): Likewise.
(arm_linux_insert_watchpoint): Likewise.
(arm_linux_remove_watchpoint): Likewise.
(arm_linux_stopped_data_address): Likewise.
(arm_linux_stopped_by_watchpoint): Likewise.
(arm_linux_watchpoint_addr_within_range): Likewise.
(arm_linux_new_thread): Likewise.
(arm_linux_thread_exit): Likewise.
(_initialize_arm_linux_nat): Install hardware breakpoint/watchpoint
related target callbacks. Register arm_linux_new_thread and
arm_linux_thread_exit.
* arm-tdep.h (arm_pc_is_thumb): Add prototype.
* arm-tdep.c (arm_pc_is_thumb): Make global.
(arm_gdbarch_init): Call set_gdbarch_have_nonsteppable_watchpoint.
testsuite/ChangeLog:
* lib/gdb.exp (skip_hw_breakpoint_tests): Add arm*-*-* target.
(skip_hw_watchpoint_tests): Likewise.
(skip_hw_watchpoint_multi_tests): Likewise.
|
|
* gdb/arm-tdep.c (arm_displaced_step_copy_insn): Move code to ...
(arm_process_displaced_insn): .. here. Remove parameter INSN.
(thumb_process_displaced_insn): New.
* gdb/arm-linux-tdep.c (arm_linux_displaced_step_copy_insn): Update
call to arm_process_displaced_insn.
* gdb/arm-tdep.h : Update declaration of arm_process_displaced_insn.
|
|
* infrun.c (get_displaced_step_closure_by_addr): New.
* inferior.h: Declare it.
* arm-tdep.c: (arm_pc_is_thumb): Call
get_displaced_step_closure_by_addr. Adjust MEMADDR if it
returns non-NULL.
|
|
PR tdep/12352
* arm-tdep.c (copy_ldr_str_ldrb_strb): Replace PC with SP in
order to store PC value on stack instead of text section.
2011-02-15 Yao Qi <yao@codesourcery.com>
PR tdep/12352
* gdb.arch/arm-disp-step.S : New test for str instruction.
* gdb.arch/arm-disp-step.exp : Likewise
|
|
starts with __stack_chk_guard as stack guard symbol.
|
|
arguments. Skip in-prologue calls to glibc __aeabi_read_tp
implementation even if no symbols are available.
(thumb_analyze_prologue): Update call to skip_prologue_function.
(arm_analyze_prologue): Likewise.
|
|
(arm_prologue_this_id): Use frame PC if get_frame_func returns 0.
(arm_exidx_data_key): New static variable.
(struct arm_exidx_entry, arm_exidx_entry_s): New data types.
(struct arm_exidx_data): Likewise.
(arm_exidx_data_free): New function.
(arm_compare_exidx_entries): Likewise.
(arm_obj_section_from_vma): Likewise.
(arm_exidx_new_objfile): Likewise.
(arm_find_exidx_entry): Likewise.
(arm_exidx_fill_cache): Likewise.
(arm_exidx_unwind_sniffer): Likewise.
(arm_exidx_unwind): New global variable.
(arm_gdbarch_init): Append unwinder arm_exidx_unwind.
(_initialize_arm_tdep): Attach arm_exidx_new_objfile to new_objfile
observer. Register arm_exidx_data_key as objfile data.
|
|
due to accessing uninitialized variable. Fix indentation.
|
|
* arm-tdep.c (arm_register_reggroup_p): FPS register is in
save_reggroup, restore_reggroup and all_reggroup.
|
|
* arm-tdep.c: Internationalization.
* c-lang.c: Ditto.
* charset.c: Ditto.
* fork-child.c: Ditto.
* nto-procfs.c: Ditto.
* ppc-sysv-tdep.c: Ditto.
* procfs.c: Ditto.
* remote-mips.c: Ditto.
* remote.c: Ditto.
* rs6000-nat.c: Ditto.
* rs6000-tdep.c: Ditto.
* target.c: Ditto.
* valops.c: Ditto.
* value.c: Ditto.
* xml-support.c: Ditto.
* mi/mi-cmd-break.c: Ditto.
* mi/mi-cmd-var.c: Ditto.
* mi/mi-interp.c: Ditto.
* mi/mi-main.c: Ditto.
|
|
* ada-lang.c: Comment cleanup, mostly periods and spaces.
* ada-lang.h: Ditto.
* ada-tasks.c: Ditto.
* ada-valprint.c: Ditto.
* aix-threads.c: Ditto.
* alpha-linux-nat.c: Ditto.
* alpha-linux-tdep.c: Ditto.
* alpha-mdebug-tdep.c: Ditto.
* alpha-nat.c: Ditto.
* alpha-osf1-tdep.c: Ditto.
* alpha-tdep.c: Ditto.
* alphabsd-nat.c: Ditto.
* alphabsd-tdep.c: Ditto.
* amd64-darwin-tdep.c: Ditto.
* amd64-linux-nat.c: Ditto.
* amd64-linux-tdep.c: Ditto.
* amd64-sol2-tdep.c: Ditto.
* amd64-tdep.c: Ditto.
* amd64-fbsd-tdep.c: Ditto.
* amd64-nbsd-tdep.c: Ditto.
* amd64-obsd-tdep.c: Ditto.
* amd64-linux-nat.c: Ditto.
* amd64-linux-tdep.c: Ditto.
* arm-tdep.c: Ditto.
* arm-tdep.h: Ditto.
* armnbsd-nat.c: Ditto.
* avr-tdep.c: Ditto.
* bfin-tdep.c: Ditto.
* bsd-kvm.c: Ditto.
* c-typeprintc: Ditto.
* c-valprint.c: Ditto.
* coff-pe-read.h: Ditto.
* coffreead.c: Ditto.
* cris-tdep.c: Ditto.
* d-lang.c: Ditto.
* darwin-nat-info.c: Ditto.
* darwin-nat.c: Ditto.
* dbug-rom.c: Ditto.
* dbxread.c: Ditto.
* dcache.c: Ditto.
* dcache.h: Ditto.
* dec-thread.c: Ditto.
* defs.h: Ditto.
* demangle.c: Ditto.
* dicos-tdep.c: Ditto.
* dictionary.c: Ditto.
* dictionary.h: Ditto.
* dink32-rom.c: Ditto.
* disasm.c: Ditto.
* doublest.c: Ditto.
* dsrec.c: Ditto.
* dummy-frame.c: Ditto.
* dwarf2-frame.c: Ditto.
* dwarf2expr.c: Ditto.
* dwarf2loc.c: Ditto.
* dwarf2read.c: Ditto.
* elfread.c: Ditto.
* environ.c: Ditto.
* eval.c: Ditto.
* event-top.h: Ditto.
* exceptions.c: Ditto.
* exceptions.h: Ditto.
* exec.c: Ditto.
* expprint.c: Ditto.
* expression.h: Ditto.
* f-exp.y: Ditto.
* f-lang.c: Ditto.
* f-lang.h: Ditto.
* f-typeprint.c: Ditto.
* f-valprint.c: Ditto.
* fbsd-nat.c: Ditto.
* findvar.c: Ditto.
* fork-child.c: Ditto.
* frame.c: Ditto.
* frame.h: Ditto.
* frv-linux-tdep.c: Ditto.
* frv-tdep.c: Ditto.
* gcore.c: Ditto.
* gdb-stabs.h: Ditto.
* gdb_assert.h: Ditto.
* gdb_string.h: Ditto.
* gdb_thread_db.h: Ditto.
* gdb_wait.h: Ditto.
* gdbarch.sh: Ditto.
* gdbcore.h: Ditto.
* gdbthread.h: Ditto.
* gdbtypes.c: Ditto.
* gdbtypes.h: Ditto.
* gnu-nat.c: Ditto.
* gnu-nat.h: Ditto.
* gnu-v2-abi.c: Ditto.
* gnu-v3-abi.c: Ditto.
* go32-nat.c: Ditto.
* gdbarch.c: Regenerate.
* gdbarch.h: Regenerate.
|
|
|
|
* arm-tdep.c (arm_register_aliases): Remove sp, pc, and fp.
|
|
* arm-tdep.c (thumb_analyze_prologue): Move some code ...
(EXTRACT_MOVW_MOVT_IMM_T): ... here. New macro.
(EXTRACT_MOVW_MOVT_IMM_A): New macro.
(arm_analyze_load_stack_chk_guard): New.
(arm_skip_stack_protector): New.
(arm_skip_prologue): Adjust post_prologue_pc by
arm_skip_stack_protector.
|
|
* arm-tdep.c (arm_gdbarch_init): Remove invoke to
set_gdbarch_deprecated_fp_regnum.
|
|
* arm-tdep.c (arm_register_reggroup_p): New.
(arm_gdbarch_init): Set arm_register_reggroup_p for hook
register_reggroup_p.
|
|
instruction is found.
|
|
possible used of uninitialized variable.
|
|
for "mov pc, REG" as well.
(thumb_instruction_changes_pc): Likewise.
|