Commit 392a587b authored by Jason Molenda's avatar Jason Molenda
Browse files

import gdb-1999-05-25 snapshot

parent 751d21b5
1999-05-25 Fernando Nasser <fnasser@totem.to.cygnus.com>
* utils.c (gdb_file_adjust_strbuf): Take into account the
possibility that the buffer has not been allocated yet.
Tue May 25 16:05:11 1999 Andrew Cagney <cagney@b1.cygnus.com>
* gdbarch.h (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL,
REGISTER_CONVERT_TO_RAW): Provide default definition.
* valops.c (value_assign), infcmd.c (do_registers_info), findvar.c
(value_from_register, value_of_register): Remove #ifdef
REGISTER_CONVERTIBLE. Assume REGISTER_CONVERTIBLE etc defined.
Tue May 25 16:18:25 1999 Andrew Cagney <cagney@amy.cygnus.com>
* remote-d10v.c (d10v_eva_prepare_to_trace,
d10v_eva_get_trace_data), remote-sim.c (_initialize_remote_sim):
Add declaraton. Make static.
* remote-d10v.c (_initialize_remote_d10v), d10v-tdep.c
(_initialize_d10v_tdep): Add declaration.
* config/d10v/tm-d10v.h (d10v_frame_chain): Add declaration.
Tue May 25 15:20:58 1999 Andrew Cagney <cagney@amy.cygnus.com>
* main.c (init_proc, proc_remove_foreign): Delete function.
* inftarg.c (child_mourn_inferior): Update. Delete call to
proc_remove_foreign().
* top.c (gdb_init): Update. Delete call to init_proc().
* utils.c (pollquit, fmthex, hexlate): Delete function.
Tue May 25 13:01:43 1999 Andrew Cagney <cagney@amy.cygnus.com>
* main.c (gdb_init): Move declaration from here.
* top.h: To here.
* defs.h (init_page_info): Add declaration.
* top.c (initialize_utils): Move declaration from here.
* defs.h: To here.
* infcmd.c (target_map_name_to_register): Move declaration from
here.
* parser-defs.h: To here.
* c-typeprint.c (cp_type_print_method_args), target.c
(nosupport_runtime, normal_target_post_startup_inferior): Add
declaration. Make static.
Tue May 25 13:53:23 1999 Andrew Cagney <cagney@amy.cygnus.com>
* main.c: Include "event-loop.h".
* Makefile.in (main.o): Add dependency.
* top.h (setup_event_loop, async_init_signals), top.c
(set_async_editing_command, set_async_annotation_level,
set_async_prompt), event-loop.c (display_gdb_prompt): Move
declarations from here.
* event-loop.h: To here.
* event-loop.h (delete_async_signal_handler): Add function
declaration.
* event-top.c (change_annotation_level, command_handler): Add
declaration. Make static.
Tue May 25 12:44:58 1999 Andrew Cagney <cagney@amy.cygnus.com>
* tracepoint.c (free_actions_list, add_register): Add declaration.
Make static.
(free_actions_list_cleanup_wrapper): New function. Wraps
free_actions_list for make_cleanup.
(trace_start_command): Pass free_actions_list_cleanup_wrapper
instead of free_actions_list to make_cleanup.
(_initialize_tracepoint): Add extern declaration.
Tue May 25 12:23:39 1999 Andrew Cagney <cagney@amy.cygnus.com>
* jv-typeprint.c (java_type_print_base, jv-valprint.c
(java_print_value_fields): Add static declaration.
* jv-lang.c (java_lookup_type, get_java_utf8_name,
java_lookup_type): Add static declaration.
(get_java_class_symtab, java_class_is_primitive,
java_value_string): Add declaration. Make static.
(java_rerun_cleanup): Add extern declaration for this stub
function.
Mon May 24 16:16:29 1999 Andrew Cagney <cagney@amy.cygnus.com>
* inflow.c (_initialize_inflow), annotate.c
(_initialize_annotate), os9kread.c (_initialize_os9kread),
serial.c (_initialize_serial), nlmread.c (_initialize_nlmread),
f-valprint.c (_initialize_f_valprint), cp-valprint.c
(_initialize_cp_valprint), typeprint.c (_initialize_typeprint),
complaints.c (_initialize_complaints), scm-lang.c
(_initialize_scheme_language), m2-lang.c
(_initialize_m2_language), dbxread.c (_initialize_dbxread),
f-lang.c (_initialize_f_language), ch-lang.c
(_initialize_chill_language), c-lang.c (_initialize_c_language),
corefile.c (_initialize_core), stabsread.c
(_initialize_stabsread), mipsread.c (_initialize_mipsread),
elfread.c (_initialize_elfread), coffread.c
(_initialize_coffread), maint.c (_initialize_maint_cmds),
demangle.c (_initialize_demangler), maint.c
(_initialize_maint_cmds), language.c (_initialize_language): Add
external declaration.
Mon May 24 10:04:56 1999 Andrew Cagney <cagney@b1.cygnus.com>
* config/z8k/tm-z8k.h, config/w65/tm-w65.h, config/v850/tm-v850.h,
config/tic80/tm-tic80.h, config/tahoe/tm-tahoe.h,
config/rs6000/tm-rs6000.h, config/sparc/tm-sparc.h,
config/sh/tm-sh.h, config/pyr/tm-pyr.h, config/pa/tm-hppa.h,
config/ns32k/tm-merlin.h, config/mn10300/tm-mn10300.h,
config/mn10200/tm-mn10200.h, config/mips/tm-mips.h,
config/m88k/tm-m88k.h, config/m68k/tm-news.h,
config/m68k/tm-delta68.h, config/m68k/tm-isi.h,
config/m68k/tm-m68k.h, config/m32r/tm-m32r.h,
config/i960/tm-i960.h, config/i386/tm-i386v.h,
config/i386/tm-i386.h, config/h8500/tm-h8500.h,
config/h8300/tm-h8300.h, config/fr30/tm-fr30.h,
config/d30v/tm-d30v.h, config/d10v/tm-d10v.h,
config/convex/tm-convex.h, config/arc/tm-arc.h,
config/arm/tm-arm.h, config/alpha/tm-alpha.h,
config/a29k/tm-a29k.h: Re-write definition of FRAME_NUM_ARGS so
that it returns NUM_ARGS as a result instead of setting a variable
as a side effect.
* ns32k-tdep.c (merlin_frame_num_args), tahoe-tdep.c
(tahoe_frame_num_args), vax-tdep.c (vax_frame_num_args),
m68k-tdep.c (news_frame_num_args, delta68_frame_num_args,
isi_frame_num_args), convex-tdep.c (convex_frame_num_args): New
functions.
* stack.c (print_args_stub): Update use of FRAME_NUM_ARGS.
Mon May 24 11:57:04 1999 Andrew Cagney <cagney@b1.cygnus.com>
* remote.c (remote_xfer_memory): Re-write with assumption that
REMOTE_TRANSLATE_XFER_ADDRESS is defined. Pass targ_addr and
targ_len by reference.
(REMOTE_TRANSLATE_XFER_ADDRESS): Provide default definition.
* remote-d10v.c (remote_d10v_translate_xfer_address): Update.
* config/d10v/tm-d10v.h (REMOTE_TRANSLATE_XFER_ADDRESS): Update.
Mon May 24 12:10:58 1999 Andrew Cagney <cagney@amy.cygnus.com>
* value.h (default_push_arguments): Add function declaration.
* alpha-tdep.c (alpha_about_to_return), gdbarch.c (verify_gdbarch,
arch_ok, set_arch), command.c (find_cmd), infrun.c
(follow_inferior_fork, follow_fork, follow_vfork,
set_schedlock_func, is_internal_shlib_eventpoint,
stopped_for_internal_shlib_event, stopped_for_shlib_catchpoint,
xdb_handle_command), infcmd.c (run_no_args_command, go_command),
symfile.c (add_filename_language, set_ext_lang_command,
info_ext_lang_command, init_filename_language_table), symtab.c
(overload_list_add_symbol), defs.h (default_get_saved_register),
ax-general.c (grow_expr, append_const, read_const, generic_ext):
Ditto.
* infrun.c (currently_stepping): Ditto. Make static.
* valops.c (hand_function_call): Explictly type static variable
``checked''.
Mon May 24 08:36:18 1999 Andrew Cagney <cagney@b1.cygnus.com>
* d10v-tdep.c (d10v_breakpoint_from_pc, d10v_register_name,
d10v_register_byte, d10v_register_raw_size,
d10v_register_virtual_size, d10v_register_virtual_type,
d10v_make_daddr, d10v_make_iaddr, d10v_daddr_p, d10v_iaddr_p,
d10v_convert_iaddr_to_raw, d10v_convert_daddr_to_raw,
d10v_store_struct_return, d10v_store_return_value,
d10v_extract_struct_value_address, d10v_frame_saved_pc,
d10v_frame_args_address, d10v_frame_locals_address,
d10v_saved_pc_after_call): New functions.
* config/d10v/tm-d10v.h (REGISTER_BYTE, REGISTER_RAW_SIZE,
REGISTER_VIRTUAL_SIZE, REGISTER_VIRTUAL_TYPE, STORE_STRUCT_RETURN,
D10V_MAKE_DADDR, D10V_MAKE_IADDR, D10V_DADDR_P, D10V_IADDR_P,
D10V_CONVERT_DADDR_TO_RAW, D10V_CONVERT_IADDR_TO_RAW,
STORE_STRUCT_RETURN, STORE_RETURN_VALUE,
EXTRACT_STRUCT_VALUE_ADDRESS, SAVED_PC_AFTER_CALL, FRAME_SAVED_PC,
FRAME_ARGS_ADDRESS): Re-define using new functions.
* config/d10v/tm-d10v.h (BREAKPOINT_FROM_PC): Replace BREAKPOINT.
(REGISTER_NAME): Replace REGISTER_NAMES.
* utils.c (core_addr_lessthan, core_addr_greaterthan): New
functions.
* defs.h (core_addr_lessthan, core_addr_greaterthan): Declare.
Sat May 22 16:44:06 1999 Andrew Cagney <cagney@b1.cygnus.com>
* utils.c (n_spaces): Handle case where first call has N equal to
zero.
(print_spaces): Use n_spaces.
Fri May 21 11:23:54 1999 Andrew Cagney <cagney@b1.cygnus.com>
* valops.c (value_push): Remove conditional definition based on
absense of macro PUSH_ARGUMENTS. Pass SP and STRUCT_ADDR by
reference.
(default_push_arguments): New function.
* config/v850/tm-v850.h, config/tic80/tm-tic80.h,
config/sparc/tm-sparc.h, config/sparc/tm-sp64.h,
config/sh/tm-sh.h, config/rs6000/tm-rs6000.h, config/pa/tm-hppa.h,
config/mn10300/tm-mn10300.h, config/mn10200/tm-mn10200.h,
config/mips/tm-mips.h, config/m32r/tm-m32r.h,
config/h8300/tm-h8300.h, config/fr30/tm-fr30.h,
config/d30v/tm-d30v.h, config/d10v/tm-d10v.h, config/arm/tm-arm.h,
config/alpha/tm-alpha.h: Update definition of PUSH_ARGUMENTS.
Return updated SP.
* rs6000-tdep.c (rs6000_push_arguments): Rename push_arguments.
Thu May 20 12:18:28 1999 Andrew Cagney <cagney@b1.cygnus.com>
* blockframe.c (get_prev_frame): Remove #ifdef around test for
FRAMELESS_FUNCTION_INVOCATION.
(get_prev_frame): Change FRAMELESS_FUNCTION_INVOCATION call to a
function invocation.
* i386-tdep.c (i386_frame_num_args), stack.c (frame_info): Ditto.
* config/z8k/tm-z8k.h, config/w65/tm-w65.h, config/vax/tm-vax.h,
config/sparc/tm-sparc.h, config/sh/tm-sh.h,
config/rs6000/tm-rs6000.h, config/pa/tm-hppa.h,
config/mips/tm-mips.h, config/m88k/tm-m88k.h,
config/m68k/tm-m68k.h, config/i960/tm-i960.h,
config/i386/tm-sun386.h, config/i386/tm-i386v.h,
config/i386/tm-i386.h, config/h8500/tm-h8500.h,
config/h8300/tm-h8300.h, config/fr30/tm-fr30.h,
config/d30v/tm-d30v.h, config/d10v/tm-d10v.h,
config/convex/tm-convex.h, config/arm/tm-arm.h,
config/arc/tm-arc.h, config/alpha/tm-alpha.h,
config/a29k/tm-a29k.h: Update FRAMELESS_FUNCTION_INVOCATION.
* fr30-tdep.c (fr30_frameless_function_invocation), convex-tdep.c
(convex_frameless_function_invocation), arm-tdep.c
(arm_frameless_function_invocation): New functions.
1999-05-20 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* top.c: Change dates in comments to ISO format.
* event-top.c: Ditto.
* event-loop.c: Ditto.
* main.c: Ditto.
1999-05-19 Keith Seitz <keiths@cygnus.com>
* monitor.c (monitor_open): Only assume we have eight
......@@ -22,10 +275,10 @@
1999-05-17 Fernando Nasser <fnasser@totem.to.cygnus.com>
* top.c (print_command_line): added the missing stream argument.
* gdbcmd.h: added argument to prototype.
* command.c: fixed call to include extra argument.
* breakpoint.c: same.
* top.c (print_command_line): Added the missing stream argument.
* gdbcmd.h: Added argument to prototype.
* command.c: Fixed call to include extra argument.
* breakpoint.c: Same.
1999-05-14 Jim Blandy <jimb@zwingli.cygnus.com>
......
......@@ -219,7 +219,7 @@ CDEPS = $(XM_CDEPS) $(TM_CDEPS) $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE) \
ADD_FILES = $(REGEX) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
ADD_DEPS = $(REGEX1) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
VERSION = 19990519
VERSION = 19990525
DIST=gdb
LINT=/usr/5bin/lint
......@@ -1255,7 +1255,7 @@ m88k-tdep.o: m88k-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h)
mac-nat.o: mac-nat.c $(defs_h) gdb_string.h
main.o: main.c top.h $(defs_h) gdb_string.h
main.o: main.c top.h $(defs_h) gdb_string.h $(event_loop_h)
maint.o: maint.c $(defs_h) $(gdbcmd_h) $(gdbtypes_h) $(symtab_h) language.h \
$(expression_h) objfiles.h symfile.h
......
......@@ -59,6 +59,10 @@ static CORE_ADDR after_prologue PARAMS ((CORE_ADDR pc,
static int alpha_in_prologue PARAMS ((CORE_ADDR pc,
alpha_extra_func_info_t proc_desc));
static int alpha_about_to_return PARAMS ((CORE_ADDR pc));
void _initialize_alpha_tdep PARAMS ((void));
/* Heuristic_proc_start may hunt through the text section for a long
time across a 2400 baud serial line. Allows the user to limit this
search. */
......@@ -1395,7 +1399,6 @@ alpha_call_dummy_address ()
return SYMBOL_VALUE_ADDRESS (sym) + 4;
}
void _initialize_alpha_tdep PARAMS ((void));
void
_initialize_alpha_tdep ()
{
......
......@@ -27,6 +27,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Prototypes for local functions. */
extern void _initialize_annotate PARAMS ((void));
static void print_value_flags PARAMS ((struct type *));
static void breakpoint_changed PARAMS ((struct breakpoint *));
......
......@@ -137,6 +137,19 @@ arm_saved_pc_after_call (frame)
return ADDR_BITS_REMOVE (read_register (LR_REGNUM));
}
int
arm_frameless_function_invocation (fi)
struct frame_info *fi;
{
int frameless;
CORE_ADDR func_start, after_prologue;
func_start = (get_pc_function_start ((fi)->pc) + FUNCTION_START_OFFSET);
after_prologue = func_start;
SKIP_PROLOGUE (after_prologue);
frameless = (after_prologue == func_start);
return frameless;
}
/* A typical Thumb prologue looks like this:
push {r7, lr}
add sp, sp, #-28
......
......@@ -27,6 +27,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "value.h"
static void grow_expr PARAMS ((struct agent_expr *x, int n));
static void append_const PARAMS ((struct agent_expr *x, LONGEST val, int n));
static LONGEST read_const PARAMS ((struct agent_expr *x, int o, int n));
static void generic_ext PARAMS ((struct agent_expr *x, enum agent_op op, int n));
/* Functions for building expressions. */
......
......@@ -381,17 +381,16 @@ get_prev_frame (next_frame)
define this macro to take two args; a frameinfo pointer
identifying a frame and a variable to set or clear if it is
or isn't leafless. */
#ifdef FRAMELESS_FUNCTION_INVOCATION
/* Still don't want to worry about this except on the innermost
frame. This macro will set FROMLEAF if NEXT_FRAME is a
frameless function invocation. */
if (!(next_frame->next))
{
FRAMELESS_FUNCTION_INVOCATION (next_frame, fromleaf);
fromleaf = FRAMELESS_FUNCTION_INVOCATION (next_frame);
if (fromleaf)
address = FRAME_FP (next_frame);
}
#endif
if (!fromleaf)
{
......
......@@ -2713,6 +2713,7 @@ breakpoint_1 (bnum, allflag)
static char bpenables[] = "nyn";
char wrap_indent[80];
ALL_BREAKPOINTS (b)
if (bnum == -1
|| bnum == b->number)
......
......@@ -25,6 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "language.h"
#include "c-lang.h"
extern void _initialize_c_language PARAMS ((void));
static void c_emit_char PARAMS ((int c, GDB_FILE *stream, int quoter));
/* Print the character C on STREAM as part of the contents of a literal
......
......@@ -41,6 +41,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Flag indicating target was compiled by HP compiler */
extern int hp_som_som_object_present;
static void cp_type_print_method_args PARAMS ((struct type **args, char *prefix, char *varstring, int staticp, GDB_FILE *stream));
static void
c_type_print_args PARAMS ((struct type *, GDB_FILE *));
......@@ -203,7 +205,7 @@ cp_type_print_derivation_info (stream, type)
}
/* Print the C++ method arguments ARGS to the file STREAM. */
void
static void
cp_type_print_method_args (args, prefix, varstring, staticp, stream)
struct type **args;
char *prefix;
......
......@@ -26,6 +26,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "language.h"
#include "ch-lang.h"
extern void _initialize_chill_language PARAMS ((void));
static value_ptr
evaluate_subexp_chill PARAMS ((struct type *, struct expression *, int *, enum noside));
......
......@@ -42,6 +42,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "complaints.h"
#include "target.h"
extern void _initialize_coffread PARAMS ((void));
struct coff_symfile_info {
file_ptr min_lineno_offset; /* Where in file lowest line#s are */
file_ptr max_lineno_offset; /* 1+last byte of line#s in file */
......
......@@ -51,6 +51,12 @@ static int parse_binary_operation PARAMS ((char *));
static void print_doc_line PARAMS ((GDB_FILE *, char *));
static struct cmd_list_element *find_cmd PARAMS ((char *command,
int len,
struct cmd_list_element *clist,
int ignore_help_classes,
int *nfound));
void _initialize_command PARAMS ((void));
/* Add element named NAME.
......@@ -568,6 +574,7 @@ help_cmd_list (list, class, prefix, recurse, stream)
static struct cmd_list_element *
find_cmd(command, len, clist, ignore_help_classes, nfound)
char *command;
int len;
struct cmd_list_element *clist;
int ignore_help_classes;
int *nfound;
......
......@@ -21,6 +21,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "complaints.h"
#include "gdbcmd.h"
extern void _initialize_complaints PARAMS ((void));
/* Structure to manage complaints about symbol file contents. */
struct complaint complaint_root[1] = {
......
......@@ -471,11 +471,10 @@ void init_frame_pc ();
/* Define other aspects of the stack frame. */
/* A macro that tells us whether the function invocation represented
by FI does not have a frame on the stack associated with it. If it
does not, FRAMELESS is set to 1, else 0. */
#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
(FRAMELESS) = frameless_look_for_prologue(FI)
/* An expression that tells us whether the function invocation represented
by FI does not have a frame on the stack associated with it. */
#define FRAMELESS_FUNCTION_INVOCATION(FI) \
(frameless_look_for_prologue (FI))
/* Saved pc (i.e. return address). */
#define FRAME_SAVED_PC(fraim) \
......@@ -494,7 +493,7 @@ extern CORE_ADDR frame_locals_address ();
the argcount field from it, to support debugging assembler code.
Problem was, the "argcount" field never did hold the argument
count. */
#define FRAME_NUM_ARGS(numargs, fi) ((numargs) = -1)
#define FRAME_NUM_ARGS(fi) (-1)
#define FRAME_ARGS_ADDRESS(fi) FRAME_LOCALS_ADDRESS (fi)
......
......@@ -252,12 +252,11 @@ extern CORE_ADDR alpha_frame_chain PARAMS ((struct frame_info *));
/* Define other aspects of the stack frame. */
/* A macro that tells us whether the function invocation represented
by FI does not have a frame on the stack associated with it. If it
does not, FRAMELESS is set to 1, else 0. */
/* An expression that tells us whether the function invocation represented
by FI does not have a frame on the stack associated with it. */
/* We handle this differently for alpha, and maybe we should not */
#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) {(FRAMELESS) = 0;}
#define FRAMELESS_FUNCTION_INVOCATION(FI) (0)
/* Saved Pc. */
......@@ -287,7 +286,7 @@ alpha_frame_saved_pc PARAMS ((struct frame_info *));
/* Return number of args passed to a frame.
Can return -1, meaning no way to tell. */
#define FRAME_NUM_ARGS(num, fi) ((num) = -1)
#define FRAME_NUM_ARGS(fi) (-1)
/* Return number of bytes at start of arglist that are not really args. */
......@@ -312,7 +311,7 @@ extern void alpha_find_saved_regs PARAMS ((struct frame_info *));
/* Things needed for making the inferior call functions. */
#define PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr) \
sp = alpha_push_arguments((nargs), (args), (sp), (struct_return), (struct_addr))
(alpha_push_arguments((nargs), (args), (sp), (struct_return), (struct_addr)))
extern CORE_ADDR
alpha_push_arguments PARAMS ((int, struct value **, CORE_ADDR, int, CORE_ADDR));
......
......@@ -265,17 +265,11 @@ extern void arc_software_single_step PARAMS ((unsigned int, int));
and has no caller. */
#define FRAME_CHAIN_VALID(chain, thisframe) nonnull_frame_chain_valid (chain, thisframe)
/* A macro that tells us whether the function invocation represented
by FI does not have a frame on the stack associated with it. If it
does not, FRAMELESS is set to 1, else 0. */
#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
do { \
if ((FI)->signal_handler_caller) \
(FRAMELESS) = 0; \
else \
(FRAMELESS) = frameless_look_for_prologue (FI); \
} while (0)
/* An expression that tells us whether the function invocation represented
by FI does not have a frame on the stack associated with it. */
#define FRAMELESS_FUNCTION_INVOCATION(FI) \
(((FI)->signal_handler_caller) ? 0 : frameless_look_for_prologue (FI))
/* Where is the PC for a specific frame.
A leaf function may never save blink, so we have to check for that here. */
......@@ -300,7 +294,7 @@ CORE_ADDR arc_frame_saved_pc PARAMS ((struct frame_info *));
/* Set NUMARGS to the number of args passed to a frame.
Can return -1, meaning no way to tell. */
#define FRAME_NUM_ARGS(numargs, fi) (numargs = -1)
#define FRAME_NUM_ARGS(fi) (-1)
/* Return number of bytes at start of arglist that are not really args. */
......
......@@ -313,18 +313,10 @@ extern int arm_frame_chain_valid PARAMS ((CORE_ADDR, struct frame_info *));
/* Define other aspects of the stack frame. */
/* A macro that tells us whether the function invocation represented
by FI does not have a frame on the stack associated with it. If it
does not, FRAMELESS is set to 1, else 0. */
#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
{ \
CORE_ADDR func_start, after_prologue; \
func_start = (get_pc_function_start ((FI)->pc) + \
FUNCTION_START_OFFSET); \
after_prologue = func_start; \
SKIP_PROLOGUE (after_prologue); \
(FRAMELESS) = (after_prologue == func_start); \
}
/* An expression that tells us whether the function invocation represented
by FI does not have a frame on the stack associated with it. */
extern int arm_frameless_function_invocation PARAMS ((struct frame_info *frame));
#define FRAMELESS_FUNCTION_INVOCATION(FI) (arm_frameless_function_invocation (FI))
/* Saved Pc. */
......@@ -338,7 +330,7 @@ extern CORE_ADDR arm_frame_saved_pc PARAMS ((struct frame_info *));
/* Return number of args passed to a frame.
Can return -1, meaning no way to tell. */
#define FRAME_NUM_ARGS(numargs, fi) (numargs = -1)
#define FRAME_NUM_ARGS(fi) (-1)
/* Return number of bytes at start of arglist that are not really args. */
......@@ -362,9 +354,8 @@ void frame_find_saved_regs PARAMS((struct frame_info *fi,
/* Things needed for making the inferior call functions. */
#define PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr) \
sp = arm_push_arguments ((nargs), (args), (sp), (struct_return), (struct_addr))
extern CORE_ADDR
arm_push_arguments PARAMS ((int, struct value **, CORE_ADDR, int, CORE_ADDR));
(arm_push_arguments ((nargs), (args), (sp), (struct_return), (struct_addr)))
extern CORE_ADDR arm_push_arguments PARAMS ((int, struct value **, CORE_ADDR, int, CORE_ADDR));
/* Push an empty stack frame, to record the current PC, etc. */
......
......@@ -260,19 +260,13 @@ extern struct value *value_of_trapped_internalvar ();
#define NEED_TEXT_START_END 1
/* A macro that tells us whether the function invocation represented
by FI does not have a frame on the stack associated with it. If it
does not, FRAMELESS is set to 1, else 0.
/* An expression that tells us whether the function invocation represented
by FI does not have a frame on the stack associated with it.
On convex, check at the return address for `callq' -- if so, frameless,
otherwise, not. */
#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
{ \
extern CORE_ADDR text_start, text_end; \
CORE_ADDR call_addr = SAVED_PC_AFTER_CALL (FI); \
(FRAMELESS) = (call_addr >= text_start && call_addr < text_end \
&& read_memory_integer (call_addr - 6, 1) == 0x22); \
}
extern int convex_frameless_function_invocation PARAMS ((struct frame_info *fi));
#define FRAMELESS_FUNCTION_INVOCATION(FI) (convex_frameless_function_invocatio (FI))
#define FRAME_SAVED_PC(fi) (read_memory_integer ((fi)->frame, 4))
......@@ -283,9 +277,8 @@ extern struct value *value_of_trapped_internalvar ();
/* Return number of args passed to a frame.
Can return -1, meaning no way to tell. */
#define FRAME_NUM_ARGS(numargs, fi) \
{ numargs = read_memory_integer (FRAME_ARGS_ADDRESS (fi) - 4, 4); \
if (numargs < 0 || numargs >= 256) numargs = -1;}
extern int convex_frame_num_args PARAMS ((struct frame_info *fi));
#define FRAME_NUM_ARGS(fi) (convex_frame_num_args ((fi)))
/* Return number of bytes at start of arglist that are not really args. */
......
......@@ -50,24 +50,19 @@ struct value;
extern CORE_ADDR d10v_skip_prologue ();
#define SKIP_PROLOGUE(ip) (d10v_skip_prologue (ip))