diff options
Diffstat (limited to 'gdb/convex-tdep.c')
-rw-r--r-- | gdb/convex-tdep.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gdb/convex-tdep.c b/gdb/convex-tdep.c index fd490b107ed..66161e7930e 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; |