Module Name: src Committed By: aymeric Date: Tue Dec 2 10:34:27 UTC 2014
Modified Files: src/external/gpl3/gdb/dist/gdb: amd64nbsd-tdep.c Log Message: . 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.11 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.11 --- 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 2 10:34:27 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