From f8efbf2296e731e29df1be4cc391395878846dca Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Fri, 17 Sep 1993 04:54:52 +0000 Subject: * config/a29k/tm-a29k.h (FRAME_CHAIN): If rsize is zero, return zero. --- gdb/config/a29k/tm-a29k.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gdb/config/a29k') diff --git a/gdb/config/a29k/tm-a29k.h b/gdb/config/a29k/tm-a29k.h index 0b027bebb4..ac102da06c 100644 --- a/gdb/config/a29k/tm-a29k.h +++ b/gdb/config/a29k/tm-a29k.h @@ -482,7 +482,12 @@ void init_frame_pc (); /* These are mostly dummies for the a29k because INIT_FRAME_PC sets prev->frame instead. */ -#define FRAME_CHAIN(thisframe) ((thisframe)->frame + (thisframe)->rsize) +/* If rsize is zero, we must be at end of stack (or otherwise hosed). + If we don't check rsize, we loop forever if we see rsize == 0. */ +#define FRAME_CHAIN(thisframe) \ + ((thisframe)->rsize == 0 \ + ? 0 \ + : (thisframe)->frame + (thisframe)->rsize) /* Determine if the frame has a 'previous' and back-traceable frame. */ #define FRAME_IS_UNCHAINED(frame) ((frame)->flags & TRANSPARENT) -- cgit v1.2.1