Commit Graph

45 Commits

Author SHA1 Message Date
Richard Earnshaw 3fb4b924b5 * arm-tdep.c (arm_set_call_dummy_breakpoint_offset): New function.
(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 16:42:54 +00:00
Richard Earnshaw d7afb4c983 * arm-tdep.c (arm_gdbarch_init): Initialize coerce_float_to_double.
* config/arm/tm-arm.h (COERCE_FLOAT_TO_DOUBLE): Delete.
2002-02-18 15:04:19 +00:00
Richard Earnshaw 66e810cd09 * arm-tdep.h (struct gdbarch_tdep): Add fields for breakpoint
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 16:12:24 +00:00
Richard Earnshaw 97e03143bb * arm-tdep.h (enum arm_abi): New enum.
(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-15 13:35:27 +00:00
Corinna Vinschen 6b230f1b26 * arm-tdep.c (arm_push_arguments): Eliminate special float type
handling.
	* config/arm/tm-arm.h (COERCE_FLOAT_TO_DOUBLE): Define to call
	standard_coerce_float_to_double().
2002-02-14 19:00:58 +00:00
Richard Earnshaw 67255d04f2 * arm-tdep.c (arm_use_struct_convention): Make static. Move to be
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-13 16:32:34 +00:00
Richard Earnshaw 34e8f22ded * arm-tdep.h: New file.
* 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 18:34:12 +00:00
Richard Earnshaw 148754e5ad * arm-tdep.c (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_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-11 12:42:03 +00:00
Richard Earnshaw 39bbf76177 * arm-tdep.c (arm_frame_chain_valid): Make static.
(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-08 18:26:37 +00:00
Richard Earnshaw 082fc60dfc * arm-tdep.c: Include elf-bfd.h and coff/internal.h.
(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 15:21:17 +00:00
Richard Earnshaw 5e74b15c0d * gdbarch.sh (PRINT_FLOAT_INFO): Add rule.
* 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-06 13:00:49 +00:00
Richard Earnshaw 181c1381a5 * gdbarch.sh (copyright): Update years in generated header.
(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-04 11:55:36 +00:00
Richard Earnshaw 0defa245fc * arm-tdep.c (arm_frameless_function_invocation): Add some comments.
(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-02-01 13:39:43 +00:00
Richard Earnshaw 6eb69eab29 * arm-tdep.c (arm_call_dummy_words): Define.
* 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-30 16:35:51 +00:00
Andrew Cagney afe64c1a68 * arch-utils.c (TARGET_BYTE_ORDER_DEFAULT): Delete macro.
(target_byte_order): Initialize to BFD_ENDIAN_BIG.
(initialize_current_architecture): Update target_byte_order using
information from BFD.
* config/powerpc/tm-ppcle-eabi.h (TARGET_BYTE_ORDER_DEFAULT):
* config/mcore/tm-mcore.h (TARGET_BYTE_ORDER_DEFAULT):
* config/arm/tm-arm.h (TARGET_BYTE_ORDER_DEFAULT): Delete.

Update doco.
2002-01-29 03:51:19 +00:00
Richard Earnshaw 966fbf700a * arm-tdep.c (arm_register_name): New function.
(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-21 17:36:11 +00:00
Richard Earnshaw c3b4394c3a Richard Earnshaw <rearnsha@arm.com>
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-21 16:27:42 +00:00
Andrew Cagney 3fd3d7d29c Assume TARGET_BYTE_ORDER_SELECTABLE{,_P} is always true. 2002-01-20 19:26:50 +00:00
Andrew Cagney c2f05ac92e Eliminate IEEE_FLOAT. 2002-01-20 18:05:54 +00:00
Richard Earnshaw c3d45d70a5 * config/arm/arm-tdep.h (arm_software_single_step): Remove PARAMS.
* config/arm/nm-nbsd.h (arm_register_u_addr): Likewise.
* config/arm/tm-nbsd.h (get_longjmp_target): Likewise.
2002-01-09 18:39:37 +00:00
Andrew Cagney d7449b42d3 s/BIG_ENDIAN/BFD_ENDIAN_BIG/ 2002-01-05 04:30:46 +00:00
Fernando Nasser 80fcf3f023 2001-12-19 Fernando Nasser <fnasser@redhat.com>
* 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-19 17:57:42 +00:00
Fernando Nasser 9512d7fdf5 2001-12-17 Fernando Nasser <fnasser@redhat.com>
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-17 17:03:58 +00:00
Andrew Cagney 778eb05eac LITTLE_ENDIAN -> BFD_ENDIAN_LITTLE 2001-12-15 16:53:24 +00:00
Andrew Cagney 032758dc55 * arm-tdep.c (arm_register_type): New function.
(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-11-14 08:18:33 +00:00
Andrew Cagney 9da8e4f8c8 * config/arm/tm-arm.h: Include "floatformat.h". 2001-07-04 19:57:53 +00:00
Andrew Cagney f88e2c5226 Include regcache.h 2001-03-14 23:23:16 +00:00
Kevin Buettner b6ba6518e9 Update/correct copyright notices. 2001-03-06 08:22:02 +00:00
Scott Bambrough e1d6e81ff4 Remove stray debugging statement and move prototypes so arm-linux-tdep.c
compiles without warnings.

2000-09-06  Scott Bambrough <scottb@netwinder.org>

	* arm-linux-tdep.c (arm_linux_skip_solib_resolver):
	Removed debug print statement.  Removed arm_pc_is_thumb prototype.
	* config/arm/tm-arm.h (arm_pc_is_thumb, arm_pc_is_thumb_dummy):
	Move prototypes here from tm-embed.h.
	* config/arm/tm-embed.h (arm_pc_is_thumb, arm_pc_is_thumb_dummy):
	Remove prototypes.  Moved to tm-arm.h.
2000-09-06 18:43:49 +00:00
Jim Blandy 7355ddbace Bring IEEE_FLOAT under gdbarch's control.
* gdbarch.sh (IEEE_FLOAT): New entry.
* gdbarch.c, gdbarch.h: Regenerated.
* valprint.c (IEEE_FLOAT): Provide a default #definition for this.
(print_floating): Use IEEE_FLOAT as if it were an expression; use
the code specific to IEEE-format numbers whenever the value of
IEEE_FLOAT is non-zero.
* config/a29k/tm-a29k.h, config/alpha/tm-alpha.h,
config/arc/tm-arc.h, config/arm/tm-arm.h, config/fr30/tm-fr30.h,
config/h8300/tm-h8300.h, config/i386/tm-i386.h,
config/i960/tm-i960.h, config/m88k/tm-m88k.h,
config/mips/tm-mips.h, config/pa/tm-hppa.h,
config/sparc/tm-sparc.h, config/delta/tm-delta.h,
config/frv/tm-frv.h (IEEE_FLOAT): For all ports that #define
IEEE_FLOAT, make sure they give it the value (1).
2000-04-14 19:14:19 +00:00
Scott Bambrough 134e61c4a7 2000-04-07 Scott Bambrough <scottb@netwinder.org>
* ChangeLog: Correct date on last entry.
	* arm-linux-tdep.c (arm_linux_push_arguments): New function.
	* config/arm/tm-linux: Redefined PUSH_ARGUMENTS for Linux.
	* config/arm/tm-embed: Fix build warning from redefinition of
	LOWEST_PC.
	* config/arm/tm-arm.h: Remove TARGET_BYTE_ORDER_SELECTABLE.
	* config/arm/tm-wince.h: Remove TARGET_BYTE_ORDER_SELECTABLE and
	TARGET_BYTE_ORDER.  Add TARGET_BYTE_ORDER_SELECTABLE_P to
	override default in tm-arm.h.  Use default target byte order
	from tm-arm.h.
2000-04-07 22:26:11 +00:00
Jason Molenda dfcd3bfb6f import gdb-2000-02-04 snapshot 2000-02-05 07:30:26 +00:00
Jason Molenda ed9a39ebf9 import gdb-1999-12-21 snapshot 1999-12-22 21:45:38 +00:00
Jason Molenda 104c1213b4 import gdb-1999-08-30 snapshot 1999-08-31 01:14:27 +00:00
Jason Molenda 96baa820df import gdb-1999-08-09 snapshot 1999-08-09 21:36:23 +00:00
Jason Molenda c5aa993b1f import gdb-1999-07-07 post reformat 1999-07-07 20:19:36 +00:00
Jason Molenda 392a587b05 import gdb-1999-05-25 snapshot 1999-05-25 18:09:09 +00:00
Stan Shebs b83266a0e1 import gdb-19990504 snapshot 1999-05-05 14:45:51 +00:00
Stan Shebs 7a292a7adf import gdb-19990422 snapshot 1999-04-26 18:34:20 +00:00
Stan Shebs c906108c21 Initial creation of sourceware repository 1999-04-16 01:35:26 +00:00
Stan Shebs 071ea11e85 Initial creation of sourceware repository 1999-04-16 01:34:07 +00:00
Andrew Cagney 3a0c96a996 CARP:
Rewrite INNER_THAN so that it takes parameters.
1998-11-28 22:53:04 +00:00
Andrew Cagney 679ce73102 CARP: Delete ABOUT_TO_RETURN across all targets. 1998-11-26 11:13:01 +00:00
Andrew Cagney 98760eab33 CARP: Convert macro definitions of USE_STRUCT_CONVENTION into target
specific functions.
1998-11-23 12:35:23 +00:00
K. Richard Pixley ade40d3153 bcopy -> memcpy 1993-09-01 20:37:15 +00:00