diff options
author | Richard Earnshaw <richard.earnshaw@arm.com> | 2002-01-30 16:35:51 +0000 |
---|---|---|
committer | Richard Earnshaw <richard.earnshaw@arm.com> | 2002-01-30 16:35:51 +0000 |
commit | 6eb69eab2909778dc96bdb5dbb83d7756bee4601 (patch) | |
tree | b4c7f14bb0afa196cafda483cab452d2b0378f24 /gdb/config | |
parent | ca09e32bb218843d120213458d387c84c185a187 (diff) | |
download | gdb-6eb69eab2909778dc96bdb5dbb83d7756bee4601.zip gdb-6eb69eab2909778dc96bdb5dbb83d7756bee4601.tar.gz gdb-6eb69eab2909778dc96bdb5dbb83d7756bee4601.tar.bz2 |
* 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.
Diffstat (limited to 'gdb/config')
-rw-r--r-- | gdb/config/arm/tm-arm.h | 10 | ||||
-rw-r--r-- | gdb/config/arm/tm-linux.h | 14 |
2 files changed, 7 insertions, 17 deletions
diff --git a/gdb/config/arm/tm-arm.h b/gdb/config/arm/tm-arm.h index 7316f92..941af91 100644 --- a/gdb/config/arm/tm-arm.h +++ b/gdb/config/arm/tm-arm.h @@ -406,15 +406,13 @@ void arm_pop_frame (void); #define POP_FRAME arm_pop_frame () -/* This sequence of words is the instructions +#define CALL_DUMMY_P (1) - mov lr,pc - mov pc,r4 - illegal +#define CALL_DUMMY_WORDS arm_call_dummy_words +extern LONGEST arm_call_dummy_words[]; - Note this is 12 bytes. */ +#define SIZEOF_CALL_DUMMY_WORDS (3 * sizeof (LONGEST)) -#define CALL_DUMMY {0xe1a0e00f, 0xe1a0f004, 0xe7ffdefe} #define CALL_DUMMY_START_OFFSET 0 /* Start execution at beginning of dummy */ #define CALL_DUMMY_BREAKPOINT_OFFSET arm_call_dummy_breakpoint_offset() diff --git a/gdb/config/arm/tm-linux.h b/gdb/config/arm/tm-linux.h index 51036b6..c815c48 100644 --- a/gdb/config/arm/tm-linux.h +++ b/gdb/config/arm/tm-linux.h @@ -44,17 +44,9 @@ extern struct link_map_offsets *arm_linux_svr4_fetch_link_map_offsets (void); #undef ARM_LE_BREAKPOINT #define ARM_LE_BREAKPOINT {0x01,0x00,0x9f,0xef} -/* This sequence of words used in the CALL_DUMMY are the following - instructions: - - mov lr, pc - mov pc, r4 - swi bkpt_swi - - Note this is 12 bytes. */ - -#undef CALL_DUMMY -#define CALL_DUMMY {0xe1a0e00f, 0xe1a0f004, 0xef9f001} +#undef CALL_DUMMY_WORDS +#define CALL_DUMMY_WORDS arm_linux_call_dummy_words +extern LONGEST arm_linux_call_dummy_words[]; /* Extract from an array REGBUF containing the (raw) register state a function return value of type TYPE, and copy that, in virtual format, |