Blob Blame History Raw
2005-01-25  Jeff Johnston  <jjohnstn@redhat.com>

	* ia64-tdep.c (getunwind_table): Call the low-level xfer
	unwind table syscall to support backtracing from syscalls in
	a corefile.

Index: gdb-6.5/gdb/ia64-tdep.c
===================================================================
--- gdb-6.5.orig/gdb/ia64-tdep.c	2006-04-18 16:20:06.000000000 -0300
+++ gdb-6.5/gdb/ia64-tdep.c	2006-07-07 02:18:40.000000000 -0300
@@ -2470,8 +2470,17 @@ getunwind_table (void *buf, size_t len)
      we want to preserve fall back to the running kernel's table, then
      we should find a way to override the corefile layer's
      xfer_partial method.  */
+#if 0
   x = target_read_partial (&current_target, TARGET_OBJECT_UNWIND_TABLE, NULL,
 			   buf, 0, len);
+#endif
+  /* FIXME: This is a temporary solution to backtracing syscalls in corefiles.
+            To do this properly, the AUXV section should be used.  This
+	    fix will work as long as the kernel used to generate the corefile
+	    is equivalent to the kernel used to debug the corefile.  */
+  x = ia64_linux_xfer_unwind_table (&current_target,
+		  		    TARGET_OBJECT_UNWIND_TABLE, NULL,
+			   	    buf, NULL, 0, len);
 
   return (int)x;
 }