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 | 9512d7fdf54f8cb550c2b35b9605e02bd7976d8a (patch) | |
tree | 1a2e9cf056b349a311dccad9b2d3f32ac0b2db50 /gdb/config | |
parent | c5c586eddbacd46011dc1135dcd093652c804d82 (diff) | |
download | gdb-9512d7fdf54f8cb550c2b35b9605e02bd7976d8a.zip gdb-9512d7fdf54f8cb550c2b35b9605e02bd7976d8a.tar.gz gdb-9512d7fdf54f8cb550c2b35b9605e02bd7976d8a.tar.bz2 |
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 3c15350..c9b91c9 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 |