aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/arm
diff options
context:
space:
mode:
authorRichard Earnshaw <richard.earnshaw@arm.com>2002-01-30 16:35:51 +0000
committerRichard Earnshaw <richard.earnshaw@arm.com>2002-01-30 16:35:51 +0000
commit6eb69eab2909778dc96bdb5dbb83d7756bee4601 (patch)
treeb4c7f14bb0afa196cafda483cab452d2b0378f24 /gdb/config/arm
parentca09e32bb218843d120213458d387c84c185a187 (diff)
downloadfsf-binutils-gdb-6eb69eab2909778dc96bdb5dbb83d7756bee4601.zip
fsf-binutils-gdb-6eb69eab2909778dc96bdb5dbb83d7756bee4601.tar.gz
fsf-binutils-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/arm')
-rw-r--r--gdb/config/arm/tm-arm.h10
-rw-r--r--gdb/config/arm/tm-linux.h14
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,