Update texinfo.tex to version 2000-05-28.15.
[deliverable/binutils-gdb.git] / gdb / i386gnu-nat.c
index bc13229d9909eca32105a2d5c1c86ed33b045813..7554d1aed2cccc0d3bde558ff603f8d079181782 100644 (file)
@@ -1,5 +1,5 @@
 /* Low level interface to i386 running the GNU Hurd.
-   Copyright (C) 1992, 1995, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1992, 1995, 1996, 2000 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -265,6 +265,7 @@ gnu_store_registers (int regno)
       thread_state_data_t old_state;
       int was_aborted = thread->aborted;
       int was_valid = thread->state_valid;
+      int trace;
 
       if (!was_aborted && was_valid)
        memcpy (&old_state, &thread->state, sizeof (old_state));
@@ -276,6 +277,10 @@ gnu_store_registers (int regno)
          return;
        }
 
+      /* Save the T bit.  We might try to restore the %eflags register
+         below, but changing the T bit would seriously confuse GDB.  */
+      trace = ((struct i386_thread_state *)state)->efl & 0x100;
+
       if (!was_aborted && was_valid)
        /* See which registers have changed after aborting the thread.  */
        {
@@ -319,6 +324,10 @@ gnu_store_registers (int regno)
          assert (register_valid[regno]);
          fill (state, regno);
        }
+
+      /* Restore the T bit.  */
+      ((struct i386_thread_state *)state)->efl &= ~0x100;
+      ((struct i386_thread_state *)state)->efl |= trace;
     }
 
 #undef fill
This page took 0.026635 seconds and 4 git commands to generate.