]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
2003-11-14 Jeff Johnston <jjohnstn@redhat.com>
authorJeff Johnston <jjohnstn@redhat.com>
Fri, 14 Nov 2003 20:49:23 +0000 (20:49 +0000)
committerJeff Johnston <jjohnstn@redhat.com>
Fri, 14 Nov 2003 20:49:23 +0000 (20:49 +0000)
        * config/ia64/nm-linux.h (NATIVE_XFER_UNWIND_TABLE): New macro to
        set up the ia64 linux native target method for getting the kernel
        unwind table.
        * ia64-linux-nat.c (ia64_linux_xfer_unwind_table): New function.
        * inftarg.c (child_xfer_partial): Enable section of code to
        handle TARGET_OBJECT_UNWIND_TABLE.
        * target.h (target_object): Add new TARGET_OBJECT_UNWIND_TABLE macro.

gdb/ChangeLog
gdb/config/ia64/nm-linux.h
gdb/ia64-linux-nat.c
gdb/inftarg.c
gdb/target.h

index 5f6bdab69d5759701d61344b2fa4a452200ab1f8..ff12fa6f615930d02071d5b46d8ea41b001e596f 100644 (file)
@@ -1,3 +1,13 @@
+2003-11-14  Jeff Johnston  <jjohnstn@redhat.com>
+       * config/ia64/nm-linux.h (NATIVE_XFER_UNWIND_TABLE): New macro to
+       set up the ia64 linux native target method for getting the kernel
+       unwind table.
+       * ia64-linux-nat.c (ia64_linux_xfer_unwind_table): New function.
+       * inftarg.c (child_xfer_partial): Enable section of code to
+       handle TARGET_OBJECT_UNWIND_TABLE.
+       * target.h (target_object): Add new TARGET_OBJECT_UNWIND_TABLE macro.
+
 2003-11-14  Ian Lance Taylor  <ian@wasabisystems.com>
 
        * config/arm/nbsd.mt (TM_FILE): Define.
index 0418495c11109e3ab69c9cc8276d8c20020c3543..01c980748e27ef364c35f246a6e6ac1963304b68 100644 (file)
@@ -69,4 +69,15 @@ extern int ia64_linux_insert_watchpoint (ptid_t ptid, CORE_ADDR addr,
 extern int ia64_linux_remove_watchpoint (ptid_t ptid, CORE_ADDR addr,
                                          int len);
 
+#include "target.h"
+
+#define NATIVE_XFER_UNWIND_TABLE ia64_linux_xfer_unwind_table
+extern LONGEST ia64_linux_xfer_unwind_table (struct target_ops *ops, 
+                                            enum target_object object,
+                                            const char *annex, 
+                                            void *readbuf,
+                                            const void *writebuf,
+                                            ULONGEST offset, 
+                                            LONGEST len);
+
 #endif /* #ifndef NM_LINUX_H */
index a2ca8fa9bcee746015b11282d28a44f4184f9cd4..00f66fb2e83693883d58b72d7dbbc12a9c7a08e2 100644 (file)
@@ -34,6 +34,7 @@
 #ifdef HAVE_SYS_REG_H
 #include <sys/reg.h>
 #endif
+#include <sys/syscall.h>
 #include <sys/user.h>
 
 #include <asm/ptrace_offsets.h>
@@ -645,3 +646,13 @@ ia64_linux_stopped_by_watchpoint (ptid_t ptid)
 
   return (CORE_ADDR) siginfo.si_addr;
 }
+
+LONGEST 
+ia64_linux_xfer_unwind_table (struct target_ops *ops,
+                             enum target_object object,
+                             const char *annex,
+                             void *readbuf, const void *writebuf,
+                             ULONGEST offset, LONGEST len)
+{
+  return syscall (__NR_getunwind, readbuf, len);
+}
index 6829400b5925b20e4b5eb458204887167842d181..a20c39fd07ad36960583258fdd37da2a4648cf4e 100644 (file)
@@ -571,14 +571,12 @@ child_xfer_partial (struct target_ops *ops, enum target_object object,
                                  NULL, ops);
       return -1;
 
-#if 0
     case TARGET_OBJECT_UNWIND_TABLE:
 #ifndef NATIVE_XFER_UNWIND_TABLE
 #define NATIVE_XFER_UNWIND_TABLE(OPS,OBJECT,ANNEX,WRITEBUF,READBUF,OFFSET,LEN) (-1)
 #endif
       return NATIVE_XFER_UNWIND_TABLE (ops, object, annex, readbuf, writebuf,
                                       offset, len);
-#endif
 
 #if 0
     case TARGET_OBJECT_AUXV:
index 42b9596496427f413d11afdb8538c6c80bb059b4..21956df9dd91e327aa5610b0667906e3e08ec880 100644 (file)
@@ -223,8 +223,10 @@ enum target_object
   /* AVR target specific transfer.  See "avr-tdep.c" and "remote.c".  */
   TARGET_OBJECT_AVR,
   /* Transfer up-to LEN bytes of memory starting at OFFSET.  */
-  TARGET_OBJECT_MEMORY
-  /* Possible future ojbects: TARGET_OJBECT_FILE, TARGET_OBJECT_PROC,
+  TARGET_OBJECT_MEMORY,
+  /* Kernel Unwind Table.  See "ia64-tdep.c".  */
+  TARGET_OBJECT_UNWIND_TABLE,
+  /* Possible future objects: TARGET_OBJECT_FILE, TARGET_OBJECT_PROC,
      TARGET_OBJECT_AUXV, ...  */
 };