Module Name:    src
Committed By:   christos
Date:           Mon Apr 21 17:32:14 UTC 2014

Modified Files:
        src/external/gpl3/gdb/dist/gdb: amd64nbsd-tdep.c

Log Message:
Returning in the middle of a TRY_CATCH macro gives heartburns since the
jump buffer is not being reset.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 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.8 src/external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c:1.9
--- src/external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c:1.8	Tue Apr 15 22:14:44 2014
+++ src/external/gpl3/gdb/dist/gdb/amd64nbsd-tdep.c	Mon Apr 21 13:32:14 2014
@@ -228,18 +228,18 @@ amd64nbsd_trapframe_sniffer (const struc
 			     struct frame_info *this_frame,
 			     void **this_prologue_cache)
 {
-  ULONGEST cs;
+  ULONGEST cs = 0;
   const char *name;
   volatile struct gdb_exception ex;
 
   TRY_CATCH (ex, RETURN_MASK_ERROR)
     {
       cs = get_frame_register_unsigned (this_frame, AMD64_CS_REGNUM);
-      if ((cs & I386_SEL_RPL) == I386_SEL_UPL)
-	return 0;
     }
   if (ex.reason < 0 && ex.error != NOT_AVAILABLE_ERROR)
     throw_exception (ex);
+  if ((cs & I386_SEL_RPL) == I386_SEL_UPL)
+    return 0;
 
   find_pc_partial_function (get_frame_pc (this_frame), &name, NULL, NULL);
   return (name && ((strcmp (name, "alltraps") == 0)

Reply via email to