Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-7]: src/external/gpl3/gdb/dist/gdb Pull up following revision(s) ...



details:   https://anonhg.NetBSD.org/src/rev/d8d839551b2f
branches:  netbsd-7
changeset: 798678:d8d839551b2f
user:      martin <martin%NetBSD.org@localhost>
date:      Tue Dec 09 19:24:11 2014 +0000

description:
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

diffstat:

 external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c |  7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diffs (25 lines):

diff -r 3a43b673252b -r d8d839551b2f external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c
--- a/external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c       Tue Dec 09 19:21:09 2014 +0000
+++ b/external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c       Tue Dec 09 19:24:11 2014 +0000
@@ -164,8 +164,6 @@
     + 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 @@
         }
     }
 
-  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



Home | Main Index | Thread Index | Old Index