/* Sequent Symmetry host interface, for GDB when running under Unix.
- Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
+ Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
This file is part of GDB.
/* FIXME, some 387-specific items of use taken from i387-tdep.c -- ought to be
merged back in. */
-#include <stdio.h>
#include "defs.h"
-#include "param.h"
#include "frame.h"
#include "inferior.h"
#include "symtab.h"
#include <sgtty.h>
#define TERMINAL struct sgttyb
-extern void print_387_control_word ();
-extern void print_387_status_word ();
-extern void i387_to_double (from, to);
+#include "gdbcore.h"
+void
store_inferior_registers(regno)
int regno;
{
else
{
reg_tmp = *(int *)®isters[REGISTER_BYTE(regno)];
- ptrace(XPT_RREGS, inferior_pid, ®s, 0);
+ ptrace(XPT_RREGS, inferior_pid, (PTRACE_ARG3_TYPE) ®s, 0);
switch (regno)
{
case 0:
}
}
#endif /* 0 */
- ptrace(XPT_WREGS, inferior_pid, ®s, 0);
+ ptrace(XPT_WREGS, inferior_pid, (PTRACE_ARG3_TYPE) ®s, 0);
}
void
-fetch_inferior_registers()
+fetch_inferior_registers (regno)
+ int regno;
{
int i;
struct pt_regset regs;
registers_fetched ();
- ptrace(XPT_RREGS, inferior_pid, ®s, 0);
+ ptrace(XPT_RREGS, inferior_pid, (PTRACE_ARG3_TYPE) ®s, 0);
*(int *)®isters[REGISTER_BYTE(0)] = regs.pr_eax;
*(int *)®isters[REGISTER_BYTE(5)] = regs.pr_ebx;
*(int *)®isters[REGISTER_BYTE(2)] = regs.pr_ecx;
/* Work with core dump and executable files, for GDB.
This code would be in core.c if it weren't machine-dependent. */
-#include "gdbcore.h"
-
void
core_file_command (filename, from_tty)
char *filename;
make_cleanup (free, filename);
if (have_inferior_p ())
- error ("To look at a core file, you must kill the inferior with \"kill\".");
+ error ("To look at a core file, you must kill the program with \"kill\".");
corechan = open (filename, O_RDONLY, 0);
if (corechan < 0)
perror_with_name (filename);
corefile = savestring (filename, strlen (filename));
else
{
- corefile = concat (current_directory, "/", filename);
+ corefile = concat (current_directory, "/", filename, NULL);
}
set_current_frame(create_new_frame(read_register(FP_REGNUM),
printf (" %g\n", val);
}
if (ep.pr_fpu.fpu_rsvd1)
- printf ("warning: rsvd1 is 0x%x\n", ep.pr_fpu.fpu_rsvd1);
+ warning ("rsvd1 is 0x%x\n", ep.pr_fpu.fpu_rsvd1);
if (ep.pr_fpu.fpu_rsvd2)
- printf ("warning: rsvd2 is 0x%x\n", ep.pr_fpu.fpu_rsvd2);
+ warning ("rsvd2 is 0x%x\n", ep.pr_fpu.fpu_rsvd2);
if (ep.pr_fpu.fpu_rsvd3)
- printf ("warning: rsvd3 is 0x%x\n", ep.pr_fpu.fpu_rsvd3);
+ warning ("rsvd3 is 0x%x\n", ep.pr_fpu.fpu_rsvd3);
if (ep.pr_fpu.fpu_rsvd5)
- printf ("warning: rsvd5 is 0x%x\n", ep.pr_fpu.fpu_rsvd5);
+ warning ("rsvd5 is 0x%x\n", ep.pr_fpu.fpu_rsvd5);
}
extern int corechan;
if (have_inferior_p()) {
- call_ptrace(XPT_RREGS, inferior_pid, ®set, 0);
+ call_ptrace(XPT_RREGS, inferior_pid, (PTRACE_ARG3_TYPE) ®set, 0);
} else {
if (lseek (corechan, 0, 0) < 0) {
perror ("seek on core file");