From: Daniel Jacobowitz Date: Fri, 2 May 2008 17:24:50 +0000 (+0000) Subject: * arm-tdep.c (arm_prologue_this_id): Compare pc, not func, to X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2c4044904891e47007a5d189880dbc9eee384005;p=binutils-gdb.git * arm-tdep.c (arm_prologue_this_id): Compare pc, not func, to lowest_pc. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9c9e09b38fd..d3bdbccff3e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2008-05-02 Daniel Jacobowitz + + * arm-tdep.c (arm_prologue_this_id): Compare pc, not func, to + lowest_pc. + 2008-05-02 Jim Blandy Pedro Alves diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index 0380dcd29f8..fa7a3e87d5d 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -981,23 +981,22 @@ arm_prologue_this_id (struct frame_info *this_frame, { struct arm_prologue_cache *cache; struct frame_id id; - CORE_ADDR func; + CORE_ADDR pc, func; if (*this_cache == NULL) *this_cache = arm_make_prologue_cache (this_frame); cache = *this_cache; - func = get_frame_func (this_frame); - - /* This is meant to halt the backtrace at "_start". Make sure we - don't halt it at a generic dummy frame. */ - if (func <= gdbarch_tdep (get_frame_arch (this_frame))->lowest_pc) + /* This is meant to halt the backtrace at "_start". */ + pc = get_frame_pc (this_frame); + if (pc <= gdbarch_tdep (get_frame_arch (this_frame))->lowest_pc) return; /* If we've hit a wall, stop. */ if (cache->prev_sp == 0) return; + func = get_frame_func (this_frame); id = frame_id_build (cache->prev_sp, func); *this_id = id; }