2003-06-01 Andrew Cagney <cagney@redhat.com>
[deliverable/binutils-gdb.git] / gdb / hpux-thread.c
index eec18ffffa5de3fc6d2b9e1faf125d6d2d666ccd..02f5acd9a90ace97aef4a6d53d2ad26f0465207e 100644 (file)
@@ -41,7 +41,7 @@
 #include "inferior.h"
 #include "regcache.h"
 #include <fcntl.h>
-#include <sys/stat.h>
+#include "gdb_stat.h"
 #include "gdbcore.h"
 
 extern int child_suppress_run;
@@ -285,7 +285,7 @@ hpux_thread_fetch_registers (int regno)
        child_ops.to_fetch_registers (regno);
       else
        {
-         unsigned char buf[MAX_REGISTER_RAW_SIZE];
+         unsigned char buf[MAX_REGISTER_SIZE];
          CORE_ADDR sp;
 
          sp = (CORE_ADDR) tcb_ptr->static_ctx.sp - 160;
@@ -294,7 +294,7 @@ hpux_thread_fetch_registers (int regno)
            /* Flags must be 0 to avoid bogus value for SS_INSYSCALL */
            memset (buf, '\000', REGISTER_RAW_SIZE (regno));
          else if (regno == SP_REGNUM)
-           store_address (buf, sizeof sp, sp);
+           store_unsigned_integer (buf, sizeof sp, sp);
          else if (regno == PC_REGNUM)
            read_memory (sp - 20, buf, REGISTER_RAW_SIZE (regno));
          else
@@ -347,7 +347,7 @@ hpux_thread_store_registers (int regno)
        child_ops.to_store_registers (regno);
       else
        {
-         unsigned char buf[MAX_REGISTER_RAW_SIZE];
+         unsigned char buf[MAX_REGISTER_SIZE];
          CORE_ADDR sp;
 
          sp = (CORE_ADDR) tcb_ptr->static_ctx.sp - 160;
@@ -357,18 +357,19 @@ hpux_thread_store_registers (int regno)
          else if (regno == SP_REGNUM)
            {
              write_memory ((CORE_ADDR) & tcb_ptr->static_ctx.sp,
-                           registers + REGISTER_BYTE (regno),
+                           &deprecated_registers[REGISTER_BYTE (regno)],
                            REGISTER_RAW_SIZE (regno));
              tcb_ptr->static_ctx.sp = (cma__t_hppa_regs *)
-               (extract_address (registers + REGISTER_BYTE (regno), REGISTER_RAW_SIZE (regno)) + 160);
+               (extract_address (&deprecated_registers[REGISTER_BYTE (regno)],
+                                 REGISTER_RAW_SIZE (regno)) + 160);
            }
          else if (regno == PC_REGNUM)
            write_memory (sp - 20,
-                         registers + REGISTER_BYTE (regno),
+                         &deprecated_registers[REGISTER_BYTE (regno)],
                          REGISTER_RAW_SIZE (regno));
          else
            write_memory (sp + regmap[regno],
-                         registers + REGISTER_BYTE (regno),
+                         &deprecated_registers[REGISTER_BYTE (regno)],
                          REGISTER_RAW_SIZE (regno));
        }
     }
@@ -554,6 +555,7 @@ init_hpux_thread_ops (void)
   hpux_thread_ops.to_terminal_init = terminal_init_inferior;
   hpux_thread_ops.to_terminal_inferior = terminal_inferior;
   hpux_thread_ops.to_terminal_ours_for_output = terminal_ours_for_output;
+  hpux_thread_ops.to_terminal_save_ours = terminal_save_ours;
   hpux_thread_ops.to_terminal_ours = terminal_ours;
   hpux_thread_ops.to_terminal_info = child_terminal_info;
   hpux_thread_ops.to_kill = hpux_thread_kill_inferior;
This page took 0.024259 seconds and 4 git commands to generate.