diff options
Diffstat (limited to 'gdb/ia64-tdep.c')
-rw-r--r-- | gdb/ia64-tdep.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c index 0e19683..ac43d26 100644 --- a/gdb/ia64-tdep.c +++ b/gdb/ia64-tdep.c @@ -2460,17 +2460,19 @@ getunwind_table (void *buf, size_t len) { LONGEST x; - /* 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 (¤t_target, - TARGET_OBJECT_UNWIND_TABLE, NULL, - buf, NULL, 0, len); + /* FIXME drow/2005-09-10: This code used to call + ia64_linux_xfer_unwind_table directly to fetch the unwind table + for the currently running ia64-linux kernel. That data should + come from the core file and be accessed via the auxv vector; if + 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. */ + x = target_read_partial (¤t_target, TARGET_OBJECT_UNWIND_TABLE, NULL, + buf, 0, len); return (int)x; } - + /* Get the kernel unwind table. */ static int get_kernel_table (unw_word_t ip, unw_dyn_info_t *di) |