From ee1f65f0e30d3346efaf28c81ba491e5403ec708 Mon Sep 17 00:00:00 2001 From: Jason Thorpe Date: Sun, 20 Jan 2002 00:23:10 +0000 Subject: [PATCH] * alpha-tdep.c (alpha_call_dummy_words): New. * config/alpha/tm-alpha.h (CALL_DUMMY): Remove. (CALL_DUMMY_P): Define. (CALL_DUMMY_WORDS): Define. (SIZEOF_CALL_DUMMY_WORDS): Define. --- gdb/ChangeLog | 8 ++++++++ gdb/alpha-tdep.c | 5 +++++ gdb/config/alpha/tm-alpha.h | 9 +++++++-- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index da3c084503..8ef59a15ab 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2002-01-19 Jason Thorpe + + * alpha-tdep.c (alpha_call_dummy_words): New. + * config/alpha/tm-alpha.h (CALL_DUMMY): Remove. + (CALL_DUMMY_P): Define. + (CALL_DUMMY_WORDS): Define. + (SIZEOF_CALL_DUMMY_WORDS): Define. + 2002-01-19 Per Bothner * gnu-v3-abi.c (gnuv3_rtti_type): Guard that vtable_symbol_name diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index a717e101e6..b894fbdf08 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -1505,6 +1505,11 @@ alpha_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, write_register (T12_REGNUM, fun); } +/* On the Alpha, the call dummy code is nevery copied to user space + (see alpha_fix_call_dummy() above). The contents of this do not + matter. */ +LONGEST alpha_call_dummy_words[] = { 0 }; + int alpha_use_struct_convention (int gcc_p, struct type *type) { diff --git a/gdb/config/alpha/tm-alpha.h b/gdb/config/alpha/tm-alpha.h index 84ba3b489f..b8697680b4 100644 --- a/gdb/config/alpha/tm-alpha.h +++ b/gdb/config/alpha/tm-alpha.h @@ -333,14 +333,19 @@ extern void alpha_pop_frame (void); call_function_by_hand and to avoid zero length array warnings in valops.c */ -#define CALL_DUMMY { 0 } /* Content doesn't matter. */ +#define CALL_DUMMY_P (1) + +#define CALL_DUMMY_WORDS alpha_call_dummy_words +extern LONGEST alpha_call_dummy_words[]; + +#define SIZEOF_CALL_DUMMY_WORDS 0 #define CALL_DUMMY_START_OFFSET (0) #define CALL_DUMMY_BREAKPOINT_OFFSET (0) -extern CORE_ADDR alpha_call_dummy_address (void); #define CALL_DUMMY_ADDRESS() alpha_call_dummy_address() +extern CORE_ADDR alpha_call_dummy_address (void); /* Insert the specified number of args and function address into a call sequence of the above form stored at DUMMYNAME.