diff options
author | Fernando Nasser <fnasser@redhat.com> | 2001-12-17 17:03:58 +0000 |
---|---|---|
committer | Fernando Nasser <fnasser@redhat.com> | 2001-12-17 17:03:58 +0000 |
commit | a043ed57e53dd2bfd64ccd809e4c18eb3866feb9 (patch) | |
tree | f8e32d6b5186f9cff62928c9b76863c8ac4335d2 /gdb/config | |
parent | 8c651848f24157ddd3c53356700c9e60fb3703a3 (diff) | |
download | gdb-a043ed57e53dd2bfd64ccd809e4c18eb3866feb9.tar.gz |
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.
Diffstat (limited to 'gdb/config')
-rw-r--r-- | gdb/config/arm/tm-arm.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/gdb/config/arm/tm-arm.h b/gdb/config/arm/tm-arm.h index 3c1535022b0..c9b91c9d0f7 100644 --- a/gdb/config/arm/tm-arm.h +++ b/gdb/config/arm/tm-arm.h @@ -96,9 +96,9 @@ extern CORE_ADDR arm_saved_pc_after_call (struct frame_info *); Even this may only true if the condition predicate is true. The following use a condition predicate of ALWAYS so it is always TRUE. - There are other ways of forcing a breakpoint. ARM Linux, RisciX, - and I suspect NetBSD will all use a software interrupt rather than - an undefined instruction to force a trap. This can be handled by + There are other ways of forcing a breakpoint. ARM Linux, RISC iX, + and NetBSD will all use a software interrupt rather than an + undefined instruction to force a trap. This can be handled by redefining some or all of the following in a target dependent fashion. */ @@ -451,6 +451,16 @@ void arm_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, struct value ** args, struct type * type, int gcc_p); +/* Most ARMs don't have single stepping capability, so provide a + single-stepping mechanism by default */ +#ifndef SOFTWARE_SINGLE_STEP_P +#define SOFTWARE_SINGLE_STEP_P 1 +#endif +#if SOFTWARE_SINGLE_STEP_P +#define SOFTWARE_SINGLE_STEP(sig,bpt) arm_software_single_step((sig), (bpt)) +void arm_software_single_step PARAMS((int, int)); +#endif + CORE_ADDR arm_get_next_pc (CORE_ADDR pc); /* Macros for setting and testing a bit in a minimal symbol that marks |