* i386obsd-tdep.c (i386obsd_trapframe_sniffer): Also recognize
"soft" interrupts.
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f3e9d10..34b1c6c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-26  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386obsd-tdep.c (i386obsd_trapframe_sniffer): Also recognize
+	"soft" interrupts.
+
 2006-02-24  Charles Wilson  <cygwin@cwilson.fastmail.fm>
 
 	* gdb/defs.h: unconditionally include <fcntl.h>, and
diff --git a/gdb/i386obsd-tdep.c b/gdb/i386obsd-tdep.c
index 5902374..f1ce047 100644
--- a/gdb/i386obsd-tdep.c
+++ b/gdb/i386obsd-tdep.c
@@ -1,7 +1,7 @@
 /* Target-dependent code for OpenBSD/i386.
 
    Copyright (C) 1988, 1989, 1991, 1992, 1994, 1996, 2000, 2001, 2002,
-   2003, 2004, 2005
+   2003, 2004, 2005, 2006
    Free Software Foundation, Inc.
 
    This file is part of GDB.
@@ -423,9 +423,10 @@
     return 0;
 
   find_pc_partial_function (frame_pc_unwind (next_frame), &name, NULL, NULL);
-  return (name && ((strcmp (name, "calltrap") == 0)
-		   || (strcmp (name, "syscall1") == 0)
-		   || (strncmp (name, "Xintr", 5) == 0)));
+  return (name && (strcmp (name, "calltrap") == 0
+		   || strcmp (name, "syscall1") == 0
+		   || strncmp (name, "Xintr", 5) == 0
+		   || strncmp (name, "Xsoft", 5) == 0));
 }
 
 static const struct frame_unwind i386obsd_trapframe_unwind = {