aboutsummaryrefslogtreecommitdiff
path: root/gdb/vax-tdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/vax-tdep.c')
-rw-r--r--gdb/vax-tdep.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/gdb/vax-tdep.c b/gdb/vax-tdep.c
index 3c223c5..52438d5 100644
--- a/gdb/vax-tdep.c
+++ b/gdb/vax-tdep.c
@@ -170,9 +170,10 @@ vax_sigtramp_saved_pc (struct frame_info *frame)
buf = alloca (ptrbytes);
/* Get sigcontext address, it is the third parameter on the stack. */
- if (frame->next)
+ if (get_next_frame (frame))
sigcontext_addr = read_memory_typed_address
- (FRAME_ARGS_ADDRESS (frame->next) + FRAME_ARGS_SKIP + sigcontext_offs,
+ (FRAME_ARGS_ADDRESS (get_next_frame (frame))
+ + FRAME_ARGS_SKIP + sigcontext_offs,
builtin_type_void_data_ptr);
else
sigcontext_addr = read_memory_typed_address
@@ -205,8 +206,8 @@ vax_frame_args_address_correct (struct frame_info *frame)
(which is one reason that "info frame" exists). So, return 0 (indicating
we don't know the address of the arglist) if we don't know what frame
this frame calls. */
- if (frame->next)
- return (read_memory_integer (get_frame_base (frame->next) + 8, 4));
+ if (get_next_frame (frame))
+ return (read_memory_integer (get_frame_base (get_next_frame (frame)) + 8, 4));
return (0);
}
@@ -217,8 +218,8 @@ vax_frame_args_address (struct frame_info *frame)
/* In most of GDB, getting the args address is too important to
just say "I don't know". This is sometimes wrong for functions
that aren't on top of the stack, but c'est la vie. */
- if (frame->next)
- return (read_memory_integer (get_frame_base (frame->next) + 8, 4));
+ if (get_next_frame (frame))
+ return (read_memory_integer (get_frame_base (get_next_frame (frame)) + 8, 4));
return (read_register (VAX_AP_REGNUM));
}