diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/rs6000-tdep.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4c52d0e..2f8573f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2008-05-03 Ulrich Weigand <uweigand@de.ibm.com> + * rs6000-tdep.c (rs6000_frame_this_id): If info->base is 0, + return the null frame ID to terminate the backtrace. + +2008-05-03 Ulrich Weigand <uweigand@de.ibm.com> + * rs6000-tdep.c: Do not include "rs6000-tdep.h". (rs6000_find_toc_address_hook): Move to rs6000-aix-tdep.c. (SIG_FRAME_PC_OFFSET): Likewise. diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 6f3d2e5..7907767 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -2550,6 +2550,10 @@ rs6000_frame_this_id (struct frame_info *this_frame, void **this_cache, { struct rs6000_frame_cache *info = rs6000_frame_cache (this_frame, this_cache); + /* This marks the outermost frame. */ + if (info->base == 0) + return; + (*this_id) = frame_id_build (info->base, get_frame_func (this_frame)); } |