aboutsummaryrefslogtreecommitdiff
path: root/gdb/convex-tdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/convex-tdep.c')
-rw-r--r--gdb/convex-tdep.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/gdb/convex-tdep.c b/gdb/convex-tdep.c
index fd490b1..66161e7 100644
--- a/gdb/convex-tdep.c
+++ b/gdb/convex-tdep.c
@@ -80,6 +80,27 @@ convex_skip_prologue (pc)
return pc;
}
+int
+convex_frameless_function_invocation (fi)
+ struct frame_info *fi;
+{
+ int 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);
+ return frameless;
+}
+
+int
+convex_frame_num_args (fi)
+ struct frame_info *fi;
+{
+ int numargs = read_memory_integer (FRAME_ARGS_ADDRESS (fi) - 4, 4);
+ if (numargs < 0 || numargs >= 256)
+ numargs = -1;
+ return numargs;
+}
exec_file_command (filename, from_tty)
char *filename;