* dwarf2-frame.c (dwarf2_frame_cache, dwarf2_frame_this_id)
[deliverable/binutils-gdb.git] / gdb / libunwind-frame.c
index 347247a89eb2127a3a7b3e60770806c3bbd71f23..662a87fd11a3141d28689d1a70bc9cae995093df 100644 (file)
@@ -141,7 +141,10 @@ libunwind_frame_cache (struct frame_info *next_frame, void **this_cache)
   /* Allocate a new cache.  */
   cache = FRAME_OBSTACK_ZALLOC (struct libunwind_frame_cache);
 
-  cache->func_addr = frame_func_unwind (next_frame);
+  /* We can assume we are unwinding a normal frame.  Even if this is
+     for a signal trampoline, ia64 signal "trampolines" use a normal
+     subroutine call to start the signal handler.  */
+  cache->func_addr = frame_func_unwind (next_frame, NORMAL_FRAME);
   if (cache->func_addr == 0
       && frame_relative_level (next_frame) > 0
       && get_frame_type (next_frame) != SIGTRAMP_FRAME)
This page took 0.023933 seconds and 4 git commands to generate.