aboutsummaryrefslogtreecommitdiff
path: root/gdb/arm-tdep.c
AgeCommit message (Collapse)AuthorFilesLines
2002-05-21* Makefile.in (SFILES): Add osabi.c.Jason Thorpe1-265/+82
(COMMON_OBS): Add osabi.o. (osabi.o): New dependency list. * osabi.c: New file. * osabi.h: New file. * doc/gdbint.texinfo: Document new generic OS ABI framework. * Makefile.in (alpha_tdep_h): Define and use instead of alpha-tdep.h. * alpha-tdep.c (alpha_abi_names, process_note_abi_tag_sections, get_elfosabi, alpha_abi_handler_list, alpha_gdbarch_register_os_abi): Remove. (alpha_gdbarch_init, alpha_dump_tdep): Use generic OS ABI framework. * alpha-tdep.h: Include osabi.h. (alpha_abi): Remove. (gdbarch_tdep): Use generic OS ABI framework. * alpha-linux-tdep.c (_initialize_alpha_linux_tdep): Use gdbarch_register_osabi. * alpha-osf1-tdep.c (_initialize_alpha_osf1_tdep): Likewise. * alphafbsd-tdep.c (_initialize_alphafbsd_tdep): Likewise. * alphanbsd-tdep.c (_initialize_alphanbsd_tdep): Likewise. * Makefile.in (sh_tdep_h): Add osabi.h. * sh-tdep.h (sh_osabi): Remove. (gdbarch_tdep): Use generic OS ABI framework. * sh-tdep.c (sh_osabi_names, process_note_abi_tag_sections, sh_osabi_handler_list, sh_gdbarch_register_os_abi): Remove. (sh_gdbarch_init, sh_dump_tdep): Use generic OS ABI framework. * shnbsd-tdep.c (_initialize_shnbsd_tdep): Use gdbarch_register_osabi. * Makefile.in (arm_tdep_h): Define and use instead of arm-tdep.h. * arm-linux-tdep.c (_initialize_arm_linux_tdep): Use gdbarch_register_osabi. * arm-tdep.c (arm_abi_names, process_note_abi_tag_sections, arm_abi_handler_list, arm_gdbarch_register_os_abi): Remove. (get_elfosabi): Rename to... (arm_elf_osabi_sniffer): ...this. Adjust to use generic OS ABI framework support routines. (arm_gdbarch_init): Use generic OS ABI framework. (arm_dump_tdep): Likewise. (_initialize_arm_tdep): Likewise. * arm-tdep.h: Include osabi.h. (arm_abi): Remove. (gdbarch_tdep): Remove arm_abi and abi_name members. Add osabi member. (arm_gdbarch_register_os_abi): Remove prototype. * armnbsd-tdep.c (arm_netbsd_aout_osabi_sniffer): New function. (_initialize_arm_netbsd_tdep): Use gdbarch_register_osabi. * Makefile.in (mips-tdep.o): Add osabi.h to dependency list. * mips-tdep.c: Include osabi.h. (gdbarch_tdep, mips_gdbarch_init, mips_dump_tdep): Use generic OS ABI framework.
2002-05-172002-05-16 Michael Snyder <msnyder@redhat.com>Michael Snyder1-1/+1
* arm-tdep.c: Spelling fix in comment.
2002-05-092002-05-09 Michael Snyder <msnyder@redhat.com>Michael Snyder1-64/+62
* arm-tdep.c (arm_scan_prologue): Accept strb r(0123),[r11,#-nn], strh r(0123),[r11,#-nn], str r(0123),[r11,#-nn], as well as strb r(0123),[sp,#nn], strh r(0123),[sp,#nn] and str r(0123),[sp,#nn]. (arm_skip_prologue): Ditto. Also make disassembly order-independent by placing it in a loop.
2002-05-08* arm-tdep.c (arm_skip_prologue): Handle generic dummy frames.Andrew Cagney1-48/+104
(thumb_scan_prologue): Ditto. (arm_find_callers_reg): Ditto. (arm_frame_chain): Ditto. (arm_init_extra_frame_info): Ditto. (arm_frame_saved_pc): Ditto. (arm_pop_frame): Ditto. (arm_push_return_address): New function. (arm_gdbarch_init): Initialize use_generic_dummy_frames, call_dummy_location, call_dummy_breakpoint_offset_p, call_dummy_breakpoint_offset, call_dummy_p, call_dummy_stack_adjust_p, call_dummy_words, sizeof_call_dummy_words, call_dummy_start_offset, call_dummy_length, fix_call_dummy, pc_in_call_dummy, call_dummy_address, push_return_address and push_dummy_frame for generic dummy frames.
2002-05-07* arm-tdep.h (ARM_MAX_REGISTER_RAW_SIZE): Define.Richard Earnshaw1-2/+2
(ARM_MAX_REGISTER_VIRTUAL_SIZE): Define. * arm-tdep.c (arm_store_return_value): Use them. Use FP_REGISTER_RAW_SIZE when setting the FPA return value. * remote-rdp.c (remote_rdp_fetch_register): Use ARM_MAX_REGISTER_RAW_SIZE. (remote_rdp_store_register): Likewise.
2002-05-012002-04-30 Michael Snyder <msnyder@redhat.com>Michael Snyder1-105/+107
* arm-tdep.c: Whitespace clean-ups.
2002-05-012002-04-30 Michael Snyder <msnyder@redhat.com>Michael Snyder1-2/+0
* arm-tdep.c (arm_skip_prologue): Fix thinko; two lines should have been removed as part of 4/24 change.
2002-04-242002-04-24 Michael Snyder <msnyder@redhat.com>Michael Snyder1-22/+58
* arm-tdep.c (arm_scan_prologue): Move "mov ip, sp" into the loop. Add handling for "str lr, [sp, #-4]!" and for saves of argument regs ("str r(0123), [r11, #-nn"]). (arm_skip_prologue): Better handling for frameless functions. Treat "mov ip, sp" as optional. Recognize "str lr, [sp, #-4]". (arm_skip_prologue): Recognize str r(0123), [r11, #-nn].
2002-04-24* arm-tdep.c (arm_gdbarch_init): Add comment that NUM_REGS norAndrew Cagney1-0/+3
NUM_PSEUDO_REGS can be used.
2002-04-24* arch-utils.h: Update copyright.Andrew Cagney1-8/+8
* gdbarch.sh (PC_IN_SIGTRAMP): Add. * gdbarch.h, gdbarch.c: Re-generate. * inferior.h (IN_SIGTRAMP): Delete definition. * arch-utils.c (legacy_pc_in_sigtramp): New function. * arch-utils.h (legacy_pc_in_sigtramp): Declare. * mips-tdep.c (mips_init_extra_frame_info): Use PC_IN_SIGTRAMP. (mips_dump_tdep): Do not print value of IN_SIGTRAMP. * hppa-tdep.c (pc_in_interrupt_handler): Use PC_IN_SIGTRAMP. (find_proc_framesize): Ditto. * alpha-tdep.c (alpha_osf_skip_sigtramp_frame): Ditto. (alpha_init_extra_frame_info): Ditto. * infrun.c (handle_inferior_event): Ditto. (handle_inferior_event): Ditto. (check_sigtramp2): Ditto. * blockframe.c (create_new_frame): Ditto. (get_prev_frame): Ditto. * ppc-linux-tdep.c: Update comments. * i386-linux-tdep.c: Update comments. * breakpoint.c (bpstat_what): Update comment. * gdbint.texinfo (Target Architecture Definition): Replace IN_SIGTRAMP with PC_IN_SIGTRAMP.
2002-04-232002-04-22 Michael Snyder <msnyder@redhat.com>Michael Snyder1-0/+6
* arm-tdep.c (arm_skip_prologue): Recognize "sub sp, sp, #nn".
2002-04-222002-04-22 Michael Snyder <msnyder@redhat.com>Michael Snyder1-54/+70
* arm-tdep.c: Some whitespace and coding standards tweaks.
2002-04-21* arm-tdep.c (arm_breakpoint_from_pc): Make static. Make returnAndrew Cagney1-1/+1
type const.
2002-04-21* arm-tdep.c (arm_gdbarch_init): Use gdbarch_num_pseudo_regsAndrew Cagney1-1/+2
instead of NUM_PSEUDO_REGS.
2002-02-19* arm-tdep.h (enum arm_float_model): New enum.Richard Earnshaw1-20/+88
(struct gdbarch_tdep): Add fp_model. * arm-tdep.c (arm_gdbarch_init): Set fp_model in tdep. Defer setting up floating-point conversions until we know the floating-point model in use by the inferior. Don't complain about being unable to determine the ABI of the inferior when we don't have one. (arm_extract_return_value): Support different floating-point models. (arm_store_return_value): Likewise. * armnbsd-tdep.c (arm_netbsd_aout_init_abi): Set fp_model in tdep to ARM_FLOAT_SOFT. (arm_netbsd_elf_init_abi): Set fp_model to ARM_FLOAT_SOFT_VFP.
2002-02-19* arm-tdep.c (arm_gdbarch_init): Initialize TARGET_CHAR_SIGNED.Richard Earnshaw1-6/+10
Initialize CALL_DUMMY_LENGTH.
2002-02-18* arm-tdep.c (arm_set_call_dummy_breakpoint_offset): New function.Richard Earnshaw1-16/+23
(arm_fix_call_dummy): Call it. (arm_call_dummy_breakpoint_offset): Delete. (arm_gdbarch_init): Initialize call_dummy_breakpoint_offset. * config/arm/tm-arm.h (CALL_DUMMY_BREAKPOINT_OFFSET): Delete.
2002-02-18* arm-tdep.c (arm_gdbarch_init): Initialize coerce_float_to_double.Richard Earnshaw1-5/+7
* config/arm/tm-arm.h (COERCE_FLOAT_TO_DOUBLE): Delete.
2002-02-18* gdbarch.sh (GET_LONGJMP_TARGET): Add rule.Richard Earnshaw1-0/+22
* gdbarch.c gdbarch.h: Regenerate. * breakpoint.c (create_longjmp_breakpoint): Always compile this function. (breakpoint_reset): Test GET_LONGJMP_TARGET_P(). * infrun.c (GET_LONGJMP_TARGET): Delete default definition. (handle_inferior_event): Test GET_LONGJMP_TARGET_P(). * arm-tdep.h (struct gdbarch_tdep): Add jb_pc and jb_elt_size fields. * arm-tdep.c (arm_get_longjmp_target): New function. (arm_gdbarch_init): Initialize jb_pc to -1. If ABI handler changes this to a positive value register arm_get_longjmp_target as the longjmp handler. * arm-linux-tdep.c (arm_get_longjmp_target): Delete. (arm_linux_init_abi): Set up longjmp description in tdep. * armnbsd-nat.c (get_longjmp_target): Delete. * armnbsd-tdep.c (arm_netbsd_init_abi_common): Set up longjmp description in tdep. * config/arm/tm-nbsd.h (JB_ELEMENT_SIZE, JB_PC): Delete. (get_longjmp_target): Delete declaration. (GET_LONGJMP_TARGET): Delete. * config/arm/tm-linux.h (arm_get_longjmp_target): Delete declaration. (GET_LONGJMP_TARGET): Delete.
2002-02-15* arm-tdep.h (struct gdbarch_tdep): Add fields for breakpointRichard Earnshaw1-27/+70
descriptions. * arm-tdep.c (arm_default_arm_le_breakpoint) (arm_default_arm_be_breakpoint, arm_default_thumb_le_breakpoint) (arm_default_thumb_be_breakpoint): New. Initialize them from traditional breakpoint defines. (arm_breakpoint_from_pc): Use new gdbarch_tdep entries. (arm_gdbarch_init): Initialize new breakpoint variables. * arm-linux-tdep.c (arm_linux_arm_le_breakpoint): New. (arm_linux_init_abi): Initialize linux-specific breakpoint. * armnbsd-tdep.c (arm_nbsd_arm_le_breakpoint): New. (arm_netbsd_aout_init_abi, arm_netbsd_elf_init_abi): Split common code out to ... (arm_netbsd_init_abi_common): ... here; new function. * config/arm/tm-arm.h (ARM_LE_BREAKPOINT, ARM_BE_BREAKPOINT) (THUMB_LE_BREAKPOINT, THUMB_BE_BREAKPOINT): Delete. * config/arm/tm-linux.h (ARM_LE_BREAKPOINT): Delete. * config/arm/tm-nbsd.h (ARM_LE_BREAKPOINT): Delete.
2002-02-15* arm-tdep.h (enum arm_abi): New enum.Richard Earnshaw1-9/+368
(struct gdbarch_tdep): New structure. (LOWEST_PC): Provide a default. (arm_gdbarch_register_os_abi): Declare new function. * arm-tdep.c (arm_abi_names): New array. (process_note_abi_tag_sections): New function. (get_elfosabi): New function. (arm_gdbarch_register_os_abi): New function. (arm_gdbarch_init): Try to determine the ABI of the inferior. If support for that ABI has been built in, then call the appropriate configuration routine. Use gdbarch_num_regs() to get the number of registers. (arm_dump_tdep): New function. (arm_init_abi_eabi_v1, arm_init_abi_eabi_v2, arm_init_abi_apcs): New place-holder functions. (_initialize_arm_tdep): Register them. * config/arm/tm-arm.h (LOWEST_PC): Delete. * armnbsd-tdep.c: New file. * Makefile.in (armnbsd-tdep.o): Add dependencies. * config/arm/nbsd.mt (TDEPFILES): Add it. * config/arm/tm-nbsd.h (LOWEST_PC): Delete. * armnbsd-nat.c: Include regcache.h. * Makefile.in (armnbsd-nat.o): Update dependency list. * arm-tdep.c (arm_get_next_pc): Use printf_filtered for error message.
2002-02-14 * arm-tdep.c (arm_push_arguments): Eliminate special float typeCorinna Vinschen1-21/+1
handling. * config/arm/tm-arm.h (COERCE_FLOAT_TO_DOUBLE): Define to call standard_coerce_float_to_double().
2002-02-13* arm-tdep.c (arm_use_struct_convention): Make static. Move to beRichard Earnshaw1-94/+128
with other related struct-returning functions. (arm_extract_struct_value_address): New function. (arm_gdbarch_init): Initialize the above in multi-arch vector. Also initialize float_format, double_format and long_double_format as appropriate to the endianness of the target. * config/arm/tm-arm.h (TARGET_DOUBLE_FORMAT): Delete. (arm_use_struct_convention): Delete declaration. (USE_STRUCT_CONVENTION, EXTRACT_STRUCT_VALUE_ADDRESS): Delete.
2002-02-11* arm-tdep.h: New file.Richard Earnshaw1-75/+241
* arm-tdep.c: Include arm-tdep.h. (arm_addr_bits_remove, arm_smash_text_address, arm_saved_pc_after_call) (arm_skip_prologue, arm_call_dummy_words, arm_fix_call_dummy) (arm_print_float_info, arm_register_type, convert_to_extended) (arm_elf_make_msymbols_special, arm_coff_make_msymbol_special) (arm_extract_return_value, arm_register_name): Make static. (arm_software_single_step): Similarly. Fix types in declaration. (arm_register_byte, arm_register_raw_size, arm_register_virtual_size) (arm_store_return_value, arm_store_struct_return): New functions. (arm_gdbarch_init): Register the above functions. Also register call_dummy_start_offset, sizeof_call_dummy_words, function_start_offset, inner_than, decr_pc_after_break, fp_regnum, sp_regnum, pc_regnum, register_bytes, num_regs, max_register_raw_size, max_register_virtual_size, register_size. Set up prologue_cache.saved_regs here, rather than ... (_initialize_arm_tdep): ... here. * config/arm/tm-arm.h (struct type, struct value): Delete forward declarations. (arm_addr_bits_remove, arm_smash_text_address, arm_saved_pc_after_call) (arm_skip_prologue, arm_call_dummy_words, arm_fix_call_dummy) (arm_print_float_info, arm_register_type, convert_to_extended) (arm_elf_make_msymbols_special, arm_coff_make_msymbol_special) (arm_extract_return_value, arm_register_name): Delete declarations. (SMASH_TEXT_ADDRESS, ADDR_BITS_REMOVE, FUNCTION_START_OFFSET) (SKIP_PROLOGUE, SAVED_PC_AFTER_CALL, INNER_THAN, BREAKPOINT_FROM_PC) (DECR_PC_AFTER_BREAK, PRINT_FLOAT_INFO, REGISTER_SIZE, NUM_REGS) (REGISTER_NAME, REGISTER_BYTES, REGISTER_BYTE, REGISTER_RAW_SIZE) (REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE) (MAX_REGISTER_VIRTUAL_SIZE, REGISTER_VIRTUAL_TYPE, STORE_STRUCT_RETURN) (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE, CALL_DUMMY_WORDS) (SIZEOF_CALL_DUMMY_WORDS, CALL_DUMMY_START_OFFSET, FIX_CALL_DUMMY) (SOFTWARE_SINGLE_STEP_P, SOFTWARE_SINGLE_STEP) (ELF_MAKE_MSYMBOL_SPECIAL, COFF_MAKE_MSYMBOL_SPECIAL) Delete. (arm_pc_is_thumb, arm_pc_is_thumb_dummy, thumb_get_next_pc) (arm_get_next_pc): No-longer static -- these are needed by the RDI interface. * arm-linux-nat.c arm-linux-tdep.c armnbsd-nat.c: Include arm-tdep.h. * remote-rdi.c remote-rdp.c: Likewise. * Makefile.in (arm-linux-nat.o, arm-linux-tdep.o arm-tdep.o) (armnbsd-nat.o, remote-rdi.o, remote_rdp.o): Update dependencies. * config/arm/tm-nbsd.h (SOFTWARE_SINGLE_STEP_P): Delete bogus definition. * arm-tdep.h (ARM_A1_REGNUM, ARM_A4_REGNUM, ARM_AP_REGNUM) (ARM_SP_REGNUM, ARM_LR_REGNUM, ARM_PC_REGNUM, ARM_F0_REGNUM) (ARM_F3_REGNUM, ARM_F7_REGNUM, ARM_FPS_REGNUM, ARM_PS_REGNUM): Renamed from non-ARM_ prefixed definitions. * arm-tdep.c armnbsd-nat.c arm-linux-nat.c arm-linux-tdep.c: Update all uses of above. * remote-rdi.c remote-rdp.c: Likewise. * arm-linux-nat.c (ARM_CPSR_REGNUM): Renamed from CPSR_REGNUM.
2002-02-11* arm-tdep.c (arm_frameless_function_invocation)Richard Earnshaw1-33/+42
(arm_frame_args_address, arm_frame_locals_address, arm_frame_num_args) (arm_frame_chain, arm_init_extra_frame_info, arm_frame_saved_pc) (arm_read_fp, arm_frame_init_saved_regs, arm_push_dummy_frame) (arm_pop_frame, arm_get_next_pc): Make static. (arm_gdbarch_init): Register above in gdbarch structure. (arm_read_fp): Renamed from arm_target_read_fp. (arm_pc_is_thumb, arm_pc_is_thumb_dummy): Make static. * config/arm/tm-arm.h (arm_frameless_function_invocation) (arm_frame_args_address, arm_frame_locals_address, arm_frame_num_args) (arm_frame_chain, arm_init_extra_frame_info, arm_frame_saved_pc) (arm_target_read_fp, arm_frame_init_saved_regs, arm_push_dummy_frame) (arm_pop_frame, arm_get_next_pc, arm_pc_is_thumb) (arm_pc_is_thumb_dummy): Delete declarations.
2002-02-08* arm-tdep.c (arm_frame_chain_valid): Make static.Richard Earnshaw1-2/+34
(arm_push_arguments): Likewise. (arm_gdbarch_init): New function. (_initialize_arm_tdep): Call it. * config/arm/tm-arm.h (GDB_MULTI_ARCH): Set to 1. (TARGET_DOUBLE_FORMAT): Test TARGET_BYTE_ORDER, not target_byte_order. (FRAME_CHAIN_VALID): Delete. (arm_frame_chain_valid): Delete declaration. (PUSH_ARGUMENTS): Delete. (arm_push_arguments): Delete declaration. (CALL_DUMMY_P): Delete.
2002-02-06* arm-tdep.c: Include elf-bfd.h and coff/internal.h.Richard Earnshaw1-14/+60
(MSYMBOL_SET_SPECIAL, MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): Move defines to here from config/tm-arm.h. (coff_sym_is_thumb): Make static. (arm_elf_make_msymbol_special): New function. (arm_coff_make_msymbol_special): New function. * config/arm/tm-arm.h (MSYMBOL_SET_SPECIAL): Delete definition. (MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): Likewise. (coff_sym_is_thumb): Delete declaration. (arm_elf_make_msymbol_special): Declare. (arm_coff_make_msymbol_special): Declare. (ELF_MAKE_MSYMBOL_SPECIAL): Call arm_elf_make_msymbol_special. (COFF_MAKE_MSYMBOL_SPECIAL): Call arm_coff_make_msymbol_special.
2002-02-06* arm-tdep.c (arm_software_single_step): ANSIfy function declaration.Richard Earnshaw1-3/+1
2002-02-06* gdbarch.sh (PRINT_FLOAT_INFO): Add rule.Richard Earnshaw1-1/+3
* gdbarch.c gdbarch.h: Regenerate. * arch-utils.c (default_print_float_info): New function. * arch-utils.h (default_print_float_info): Prototype it. * infcmd.c (float_info): Call PRINT_FLOAT_INFO. * doc/gdbint.texinfo (FLOAT_INFO): Mark as deprecated. (PRINT_FLOAT_INFO): Document it. * arm-tdep.c (arm_print_float_info): Renamed from arm_float_info. * config/arm/tm-arm.h (FLOAT_INFO): Delete. (PRINT_FLOAT_INFO): Define.
2002-02-05* cli/cli-decode.c (do_cfunc, set_cmd_cfunc): New functions.Andrew Cagney1-1/+1
(do_sfunc, set_cmd_sfunc): New functions. * command.h (struct cmd_list_element): Add field func. * cli/cli-decode.h (struct cmd_list_element): Ditto. * command.h (set_cmd_sfunc, set_cmd_cfunc): Declare. * cli/cli-decode.h: Ditto. * cli/cli-decode.c (help_cmd): Test for func not cfunc/sfunc. (help_all, help_cmd_list): Ditto. (find_cmd, complete_on_cmdlist): Ditto. * top.c (execute_command): Ditto. * cli/cli-setshow.c (do_setshow_command): Call func instead of function.sfunc. * infcmd.c (notice_args_read): Fix function signature. * cli/cli-cmds.c (init_cli_cmds): Use set_cmd_sfunc. * cli/cli-decode.c (add_set_cmd): Ditto. * utils.c (initialize_utils): Ditto. * maint.c (_initialize_maint_cmds): Ditto. * infrun.c (_initialize_infrun): Ditto. * demangle.c (_initialize_demangler): Ditto. * remote.c (add_packet_config_cmd): Ditto. * mips-tdep.c (_initialize_mips_tdep): Ditto. * cris-tdep.c (_initialize_cris_tdep): Ditto. * proc-api.c (_initialize_proc_api): Ditto. * kod.c (_initialize_kod): Ditto. * valprint.c (_initialize_valprint): Ditto. * top.c (init_main): Ditto. * infcmd.c (_initialize_infcmd): Ditto. * corefile.c (_initialize_core): Ditto. * arm-tdep.c (_initialize_arm_tdep): Ditto. * arch-utils.c (initialize_current_architecture): Ditto. (_initialize_gdbarch_utils): Ditto. * alpha-tdep.c (_initialize_alpha_tdep): Ditto. * cli/cli-decode.c (add_cmd): Use set_cmd_cfunc. * wince.c (_initialize_inftarg): Ditto. * symfile.c (_initialize_symfile): Ditto. * mips-tdep.c (_initialize_mips_tdep): Ditto. * language.c (_initialize_language): Ditto. * arc-tdep.c (_initialize_arc_tdep): Ditto.
2002-02-04* gdbarch.sh (copyright): Update years in generated header.Richard Earnshaw1-0/+9
(SMASH_TEXT_ADDRESS): Add rule. *gdbarch.h, gdbarch.c: Re-generate. * coffread.c: Multi-arch uses of SMASH_TEXT_ADDRESS. * dbxread.c: Likewise. * dwarfread.c: Likewise. * elfread.c: Likewise. * somread.c: Likewise. * arm-tdep.c (arm_smash_text_address): New function. * config/arm/tm-arm.h (SMASH_TEXT_ADDRESS): Define in terms of above.
2002-02-01* arm-tdep.c (arm_frameless_function_invocation): Add some comments.Richard Earnshaw1-0/+38
(arm_frame_args_address, arm_frame_locals_address): New functions. (arm_frame_num_args): New function. * config/tm-arm.h (FRAME_ARGS_ADDRESS): Call arm_frame_args_address. (FRAME_LOCALS_ADDRESS): Call arm_frame_locals_address. (FRMA_NUM_ARGS): Call arm_frame_num_args.
2002-01-30* arm-tdep.c (arm_call_dummy_words): Define.Richard Earnshaw1-0/+14
* arm-linux-tdep.c (arm_linux_call_dummy_words): Define. * config/arm/tm-arm.h (CALL_DUMMY_P): Define. (CALL_DUMMY_WORDS): Define. (arm_call_dummy_words): Declare. * config/arm/tm-linux.h (CALL_DUMMY_WORDS): Define. (arm_linux_call_dummy_words): Declare.
2002-01-21Approved by fnasser@redhat.com:Fred Fish1-0/+4
2002-01-21 Fred Fish <fnf@redhat.com> * arm-tdep.c (thumb_skip_prologue): Quit scanning prologue when we have found all instructions we are looking for.
2002-01-21* arm-tdep.c (arm_register_name): New function.Richard Earnshaw1-1/+8
(arm_registers_names): Make static. * config/arm/tm-arm.h (arm_register_names): Delete declaration. (arm_register_name): Declare. (REGISTER_NAME): Use it.
2002-01-21Richard Earnshaw <rearnsha@arm.com>Richard Earnshaw1-73/+119
and Kevin Buettner <kevinb@redhat.com> Convert arm targets to new FRAME interface. * arm-tdep.c (struct frame_extra_info): Remove fsr. (arm_frame_find_save_regs): Delete. (arm_frame_init_saved_regs): New. (arm_init_extra_frame_info): Alloacte saved_regs as required. Allocate extra_info as required. Convert all uses of fsr.regs to use saved_regs, similarly all uses of EXTRA_FRAME_INFO fields to use extra_info. (thumb_scan_prologue, arm_scan_prologue, arm_find_callers_reg) (arm_frame_chain, arm_frame_saved_pc, arm_pop_frame): Likewise. (check_prologue_cache, save_prologue_cache): Likewise. (_initialize_arm_tdep): Ensure prologue_cache is correctly set up. * config/arm/tm-arm.h (EXTRA_FRAME_INFO): Delete. (FRAME_FIND_SAVED_REGS): Delete. (arm_frame_find_saved_regs): Delete prototype. (arm_frame_init_saved_regs): New prototype. (FRAME_INIT_SAVED_REGS): Define.
2002-01-09MAINTAINERS (write-after-approval): Add myself.Richard Earnshaw1-1/+1
arm-tdep.c (arm_init_extra_frame_info): Cast NULL argument to IN_SIGTRAMP.
2002-01-05s/BIG_ENDIAN/BFD_ENDIAN_BIG/Andrew Cagney1-6/+6
2001-12-20 * arm-tdep.c (arm_scan_prologue): Don't require "mov ip, sp"Kevin Buettner1-69/+75
to be the first instruction in the prologue. Also, revise the way the frame offset is computed for frameless functions.
2001-12-20Fix some ARM call dummy problems.Kevin Buettner1-45/+57
2001-12-192001-12-19 Elena Zannoni <ezannoni@redhat.com>Elena Zannoni1-3/+8
* corefile.c (do_captured_read_memory_integer, safe_read_memory_integer): New functions. * gdbcore.h (safe_read_memory_integer): Export. * arm-tdep.c (arm_scan_prologue): Use safe_read_memory_integer, to read the frame value, to capture calls to error().
2001-12-192001-12-19 Fernando Nasser <fnasser@redhat.com>Fernando Nasser1-4/+2
* config/arm/tm-arm.h: Properly define SOFTWARE_SINGLE_STEP_P. Always define SOFTWARE_SINGLE_STEP. * config/arm/tm-embed.h: Properly define SOFTWARE_SINGLE_STEP_P. * arm-tdep.c (arm_get_next_pc, thumb_get_next_pc, bitcount, shifted_reg_val): Always compile these functions. (arm_software_single_step): Fix second argument in function calls.
2001-12-172001-12-17 Fernando Nasser <fnasser@redhat.com>Fernando Nasser1-0/+28
From Richard Earnshaw <rearnsha@arm.com>: * arm-tdep.c (arm_software_single_step): New function. Implements software single-stepping for ARM targets. (arm_get_next_pc, thumb_get_next_pc, bitcount, shifted_reg_val): Only needed for software single-stepping. * config/arm/tm-arm.h: Activate SOFTWARE_SINGLE_STEP_P.
2001-12-05 * arm-tdep.c (arm_skip_prologue): Always skip prologue by scanningCorinna Vinschen1-4/+13
the prologue if source is assembler.
2001-11-30Define SVR4 link map offset fetcher for Linux/ARM.Kevin Buettner1-0/+44
2001-11-14* arm-tdep.c (arm_register_type): New function.Andrew Cagney1-34/+14
(arm_register_convertible): Delete. (arm_register_convert_to_virtual): Delete. (arm_register_convert_to_raw): Delete. * config/arm/tm-arm.h (REGISTER_CONVERTIBLE): Delete. (REGISTER_CONVERT_TO_VIRTUAL): Delete. (REGISTER_CONVERT_TO_RAW): Delete. (REGISTER_VIRTUAL_TYPE): Redefine as call to arm_register_type. (arm_register_type): Declare.
2001-10-21Add explicit #include of "value.h".Andrew Cagney1-0/+1
2001-08-21* arm-tdep.c (convert_from_extended, convert_to_extended): DeleteAndrew Cagney1-62/+23
assembler version of function. (convert_from_extended, convert_to_extended): Rewrite. Use floatformat_to_doublest, floatformat_from_doublest, floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword. (arm_push_arguments): Use extract_floating and store_floating to perform floating point conversions. (SWAP_TARGET_AND_HOST): Delete macro. * arm-linux-tdep.c (arm_linux_push_arguments): Use extract_floating and store_floating to perform floating point conversions.
2001-08-01* defs.h (HOST_FLOAT_FORMAT, HOST_DOUBLE_FORMAT)Andrew Cagney1-0/+1
(HOST_FLOAT_FORMAT, HOST_DOUBLE_FORMAT) (HOST_LONG_DOUBLE_FORMAT, DOUBLEST) (floatformat_to_doublest, floatformat_from_doublest) (floatformat_is_negative, floatformat_is_nan) (floatformat_mantissa, store_floating) (extract_floating): Move declaration from here. * doublest.h: To here. New file. * utils.c (get_field, floatformat_to_doublest, put_field) (ldfrexp, floatformat_from_doublest, floatformat_is_negative) (floatformat_is_nan, floatformat_mantissa) (FLOATFORMAT_CHAR_BIT): Move from here. * doublest.c: To here. New file. * findvar.c (store_floating, extract_floating): Move from here. * doublest.c: To here. * Makefile.in (SFILES): Add doublest.c. (COMMON_OBS): Add doublest.o. (doublest.o): Specify dependencies. (doublest_h): Define. * config/m88k/tm-m88k.h: Include "doublest.h". * config/i960/tm-i960.h: Ditto. * config/i386/tm-symmetry.h: Ditto. * rs6000-tdep.c, valarith.c: Ditto. * valprint.c, stabsread.c, sh-tdep.c: Ditto. * ia64-tdep.c, i387-tdep.c, i386-tdep.c: Ditto. * values.c, arm-tdep.c, arm-linux-tdep.c: Ditto. * alpha-tdep.c, ax.h, expression.h: Ditto. * sh-tdep.c, parse.c, top.c, value.h: Ditto. * Makefile.in (arm-tdep.o): Add $(doublest_h). (i386-tdep.o, i387-tdep.o, ia64-tdep.o): Ditto. (rs6000-tdep.o, stabsread.o, valarith.o): Ditto. (values.o, valprint.o, arm-linux-tdep.o): Ditto. (alpha-tdep.o, ax_h, parse.o, top.o, value_h): Ditto. (parser_defs_h): Ditto. (expression_h): Add $(doublest_h) and $(symtab_h).
2001-07-15s/value_ptr/struct value */Andrew Cagney1-2/+2