From 6eb69eab2909778dc96bdb5dbb83d7756bee4601 Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Wed, 30 Jan 2002 16:35:51 +0000 Subject: * 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. --- gdb/config/arm/tm-arm.h | 10 ++++------ gdb/config/arm/tm-linux.h | 14 +++----------- 2 files changed, 7 insertions(+), 17 deletions(-) (limited to 'gdb/config/arm') 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, -- cgit v1.1