diff options
author | Daniel Jacobowitz <drow@false.org> | 2008-05-02 17:24:50 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2008-05-02 17:24:50 +0000 |
commit | 2c4044904891e47007a5d189880dbc9eee384005 (patch) | |
tree | f7f842bcc7ecb41ad94a3e2b2b4d1bccc5cf3037 /gdb/arm-tdep.c | |
parent | f1f8f695c0b509617985d96559c940664c01334b (diff) | |
download | gdb-2c4044904891e47007a5d189880dbc9eee384005.zip gdb-2c4044904891e47007a5d189880dbc9eee384005.tar.gz gdb-2c4044904891e47007a5d189880dbc9eee384005.tar.bz2 |
* arm-tdep.c (arm_prologue_this_id): Compare pc, not func, to
lowest_pc.
Diffstat (limited to 'gdb/arm-tdep.c')
-rw-r--r-- | gdb/arm-tdep.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index 0380dcd..fa7a3e8 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; } |