Module Name: src
Committed By: martin
Date: Tue Dec 9 19:24:11 UTC 2014
Modified Files:
src/external/gpl3/gdb/dist/gdb [netbsd-7]: amd64nbsd-tdep.c
Log Message:
Pull up following revision(s) (requested by chs in ticket #302):
external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c: revision 1.11
. do not abort() if we read a zero cs or rip, or if we can't read them
. end the backtrace when encountering a soft interrupt, since they live in
their own lwp
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.10.2.1 \
src/external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c
diff -u src/external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c:1.10 src/external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c:1.10.2.1
--- src/external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c:1.10 Sun Jun 22 23:52:57 2014
+++ src/external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c Tue Dec 9 19:24:11 2014
@@ -164,8 +164,6 @@ amd64nbsd_trapframe_cache(struct frame_i
+ amd64nbsd_tf_reg_offset[AMD64_CS_REGNUM], 8, byte_order);
rip = read_memory_unsigned_integer (addr
+ amd64nbsd_tf_reg_offset[AMD64_RIP_REGNUM], 8, byte_order);
- if (cs == 0 || rip == 0)
- abort();
/* The trap frame layout was changed lf the %rip value is less than 2^16 it
* is almost certainly the %ss of the old format. */
@@ -187,9 +185,10 @@ amd64nbsd_trapframe_cache(struct frame_i
}
}
- if ((cs & I386_SEL_RPL) == I386_SEL_UPL)
+ if ((cs & I386_SEL_RPL) == I386_SEL_UPL ||
+ (name && strncmp(name, "Xsoft", 5) == 0))
{
- /* Trap from user space; terminate backtrace. */
+ /* Trap from user space or soft interrupt; terminate backtrace. */
trad_frame_set_id (cache, outer_frame_id);
}
else