2003-08-04 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Mon, 4 Aug 2003 15:42:43 +0000 (15:42 +0000)
committerAndrew Cagney <cagney@redhat.com>
Mon, 4 Aug 2003 15:42:43 +0000 (15:42 +0000)
* frame.c (frame_func_unwind): Use frame_unwind_address_in_block.

gdb/ChangeLog
gdb/frame.c

index deb73732c62d4de8f9d3ee99ced5e39414290031..de60e7daba9daff7a55e832f5c8d2a2ff292a2d7 100644 (file)
@@ -1,3 +1,7 @@
+2003-08-04  Andrew Cagney  <cagney@redhat.com>
+
+       * frame.c (frame_func_unwind): Use frame_unwind_address_in_block.
+
 2003-08-02  Andrew Cagney  <cagney@redhat.com>
 
        * config/djgpp/fnchange.lst: Fix up testsuite/gdb.c++/annota3.cc,
index 9b95e9caec19f9295de55ab16281de6cf1cfc574..2b54ed78d5a16a9e743f71d47a9d9fc1e7e2f161 100644 (file)
@@ -421,8 +421,11 @@ frame_func_unwind (struct frame_info *fi)
 {
   if (!fi->prev_func.p)
     {
+      /* Make certain that this, and not the adjacent, function is
+         found.  */
+      CORE_ADDR addr_in_block = frame_unwind_address_in_block (fi);
       fi->prev_func.p = 1;
-      fi->prev_func.addr = get_pc_function_start (frame_pc_unwind (fi));
+      fi->prev_func.addr = get_pc_function_start (addr_in_block);
       if (frame_debug)
        fprintf_unfiltered (gdb_stdlog,
                            "{ frame_func_unwind (fi=%d) -> 0x%s }\n",