projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Phase 1 of the ptid_t changes.
[deliverable/binutils-gdb.git]
/
gdb
/
remote-rdp.c
diff --git
a/gdb/remote-rdp.c
b/gdb/remote-rdp.c
index 6701f740078c6bc7b71b5cf29dd81f1185d5053f..673e423a793483f81e760ca5ae30f221230cb518 100644
(file)
--- a/
gdb/remote-rdp.c
+++ b/
gdb/remote-rdp.c
@@
-1,5
+1,6
@@
/* Remote debugging for the ARM RDP interface.
/* Remote debugging for the ARM RDP interface.
- Copyright 1994, 1995 Free Software Foundation, Inc.
+ Copyright 1994, 1995, 1998, 1999, 2000, 2001
+ Free Software Foundation, Inc.
This file is part of GDB.
This file is part of GDB.
@@
-38,7
+39,6
@@
#include "defs.h"
#include "inferior.h"
#include "defs.h"
#include "inferior.h"
-#include "wait.h"
#include "value.h"
#include "callback.h"
#include "command.h"
#include "value.h"
#include "callback.h"
#include "command.h"
@@
-47,11
+47,12
@@
#include "symfile.h"
#include "remote-utils.h"
#include "gdb_string.h"
#include "symfile.h"
#include "remote-utils.h"
#include "gdb_string.h"
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
#include "gdbcore.h"
#include "gdbcore.h"
+#include "regcache.h"
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
extern struct target_ops remote_rdp_ops;
static serial_t io;
extern struct target_ops remote_rdp_ops;
static serial_t io;
@@
-167,17
+168,16
@@
static int timeout = 2;
static char *commandline = NULL;
static int
static char *commandline = NULL;
static int
-remote_rdp_xfer_inferior_memory PARAMS ((CORE_ADDR memaddr,
- char *myaddr,
- int len,
- int write,
- struct target_ops * target));
+remote_rdp_xfer_inferior_memory (CORE_ADDR memaddr, char *myaddr, int len,
+ int write,
+ struct mem_attrib *attrib,
+ struct target_ops *target);
/* Stuff for talking to the serial layer. */
static unsigned char
/* Stuff for talking to the serial layer. */
static unsigned char
-get_byte ()
+get_byte (
void
)
{
int c = SERIAL_READCHAR (io, timeout);
{
int c = SERIAL_READCHAR (io, timeout);
@@
-198,7
+198,7
@@
get_byte ()
/* Note that the target always speaks little-endian to us,
even if it's a big endian machine. */
static unsigned int
/* Note that the target always speaks little-endian to us,
even if it's a big endian machine. */
static unsigned int
-get_word ()
+get_word (
void
)
{
unsigned int val = 0;
unsigned int c;
{
unsigned int val = 0;
unsigned int c;
@@
-212,8
+212,7
@@
get_word ()
}
static void
}
static void
-put_byte (val)
- char val;
+put_byte (char val)
{
if (remote_debug)
fprintf_unfiltered (gdb_stdlog, "(%02x)\n", val);
{
if (remote_debug)
fprintf_unfiltered (gdb_stdlog, "(%02x)\n", val);
@@
-221,8
+220,7
@@
put_byte (val)
}
static void
}
static void
-put_word (val)
- int val;
+put_word (int val)
{
/* We always send in little endian */
unsigned char b[4];
{
/* We always send in little endian */
unsigned char b[4];
@@
-250,9
+248,7
@@
put_word (val)
*/
static void
*/
static void
-rdp_init (cold, tty)
- int cold;
- int tty;
+rdp_init (int cold, int tty)
{
int sync = 0;
int type = cold ? RDP_OPEN_TYPE_COLD : RDP_OPEN_TYPE_WARM;
{
int sync = 0;
int type = cold ? RDP_OPEN_TYPE_COLD : RDP_OPEN_TYPE_WARM;
@@
-477,21
+473,18
@@
send_rdp (char *template,...)
*pi = get_byte ();
break;
default:
*pi = get_byte ();
break;
default:
-
abort (
);
+
internal_error (__FILE__, __LINE__, "failed internal consistency check"
);
}
}
}
}
- va_end (a
rgs
);
+ va_end (a
list
);
if (dst != buf)
if (dst != buf)
-
abort (
);
+
internal_error (__FILE__, __LINE__, "failed internal consistency check"
);
}
static int
}
static int
-rdp_write (memaddr, buf, len)
- CORE_ADDR memaddr;
- char *buf;
- int len;
+rdp_write (CORE_ADDR memaddr, char *buf, int len)
{
int res;
int val;
{
int res;
int val;
@@
-507,10
+500,7
@@
rdp_write (memaddr, buf, len)
static int
static int
-rdp_read (memaddr, buf, len)
- CORE_ADDR memaddr;
- char *buf;
- int len;
+rdp_read (CORE_ADDR memaddr, char *buf, int len)
{
int res;
int val;
{
int res;
int val;
@@
-526,9
+516,7
@@
rdp_read (memaddr, buf, len)
}
static void
}
static void
-rdp_fetch_one_register (mask, buf)
- int mask;
- char *buf;
+rdp_fetch_one_register (int mask, char *buf)
{
int val;
send_rdp ("bbw-SWZ", RDP_CPU_READ, RDP_CPU_READWRITE_MODE_CURRENT, mask, &val);
{
int val;
send_rdp ("bbw-SWZ", RDP_CPU_READ, RDP_CPU_READWRITE_MODE_CURRENT, mask, &val);
@@
-536,9
+524,7
@@
rdp_fetch_one_register (mask, buf)
}
static void
}
static void
-rdp_fetch_one_fpu_register (mask, buf)
- int mask;
- char *buf;
+rdp_fetch_one_fpu_register (int mask, char *buf)
{
#if 0
/* !!! Since the PIE board doesn't work as documented,
{
#if 0
/* !!! Since the PIE board doesn't work as documented,
@@
-565,9
+551,7
@@
rdp_fetch_one_fpu_register (mask, buf)
static void
static void
-rdp_store_one_register (mask, buf)
- int mask;
- char *buf;
+rdp_store_one_register (int mask, char *buf)
{
int val = extract_unsigned_integer (buf, 4);
{
int val = extract_unsigned_integer (buf, 4);
@@
-577,9
+561,7
@@
rdp_store_one_register (mask, buf)
static void
static void
-rdp_store_one_fpu_register (mask, buf)
- int mask;
- char *buf;
+rdp_store_one_fpu_register (int mask, char *buf)
{
#if 0
/* See comment in fetch_one_fpu_register */
{
#if 0
/* See comment in fetch_one_fpu_register */
@@
-617,8
+599,7
@@
rdp_store_one_fpu_register (mask, buf)
/* Convert between GDB requests and the RDP layer. */
static void
/* Convert between GDB requests and the RDP layer. */
static void
-remote_rdp_fetch_register (regno)
- int regno;
+remote_rdp_fetch_register (int regno)
{
if (regno == -1)
{
{
if (regno == -1)
{
@@
-648,8
+629,7
@@
remote_rdp_fetch_register (regno)
static void
static void
-remote_rdp_store_register (regno)
- int regno;
+remote_rdp_store_register (int regno)
{
if (regno == -1)
{
{
if (regno == -1)
{
@@
-676,14
+656,14
@@
remote_rdp_store_register (regno)
}
static void
}
static void
-remote_rdp_kill ()
+remote_rdp_kill (
void
)
{
callback->shutdown (callback);
}
static void
{
callback->shutdown (callback);
}
static void
-rdp_info ()
+rdp_info (
void
)
{
send_rdp ("bw-S-W-Z", RDP_INFO, RDP_INFO_ABOUT_STEP,
&ds.step_info);
{
send_rdp ("bw-S-W-Z", RDP_INFO, RDP_INFO_ABOUT_STEP,
&ds.step_info);
@@
-700,7
+680,7
@@
rdp_info ()
static void
static void
-rdp_execute_start ()
+rdp_execute_start (
void
)
{
/* Start it off, but don't wait for it */
send_rdp ("bb-", RDP_EXEC, RDP_EXEC_TYPE_SYNC);
{
/* Start it off, but don't wait for it */
send_rdp ("bb-", RDP_EXEC, RDP_EXEC_TYPE_SYNC);
@@
-708,9
+688,7
@@
rdp_execute_start ()
static void
static void
-rdp_set_command_line (command, args)
- char *command;
- char *args;
+rdp_set_command_line (char *command, char *args)
{
/*
** We could use RDP_INFO_SET_CMDLINE to send this, but EmbeddedICE systems
{
/*
** We could use RDP_INFO_SET_CMDLINE to send this, but EmbeddedICE systems
@@
-719,19
+697,13
@@
rdp_set_command_line (command, args)
*/
if (commandline != NULL)
*/
if (commandline != NULL)
- free (commandline);
+
x
free (commandline);
- commandline = malloc (strlen (command) + strlen (args) + 2);
- if (commandline != NULL)
- {
- strcpy (commandline, command);
- strcat (commandline, " ");
- strcat (commandline, args);
- }
+ xasprintf (&commandline, "%s %s", command, args);
}
static void
}
static void
-rdp_catch_vectors ()
+rdp_catch_vectors (
void
)
{
/*
** We want the target monitor to intercept the abort vectors
{
/*
** We want the target monitor to intercept the abort vectors
@@
-818,9
+790,7
@@
static int translate_open_mode[] =
};
static int
};
static int
-exec_swi (swi, args)
- int swi;
- argsin *args;
+exec_swi (int swi, argsin *args)
{
int i;
char c;
{
int i;
char c;
@@
-898,7
+868,7
@@
exec_swi (swi, args)
char *copy = alloca (args[2].n);
int done = callback->read (callback, args[0].n, copy, args[2].n);
if (done > 0)
char *copy = alloca (args[2].n);
int done = callback->read (callback, args[0].n, copy, args[2].n);
if (done > 0)
- remote_rdp_xfer_inferior_memory (args[1].n, copy, done, 1, 0);
+ remote_rdp_xfer_inferior_memory (args[1].n, copy, done, 1, 0
, 0
);
args->n = args[2].n - done;
return 1;
}
args->n = args[2].n - done;
return 1;
}
@@
-930,10
+900,10
@@
exec_swi (swi, args)
commandline[255] = '\0';
}
remote_rdp_xfer_inferior_memory (args[0].n,
commandline[255] = '\0';
}
remote_rdp_xfer_inferior_memory (args[0].n,
- commandline, len + 1, 1, 0);
+ commandline, len + 1, 1, 0
, 0
);
}
else
}
else
- remote_rdp_xfer_inferior_memory (args[0].n, "", 1, 1, 0);
+ remote_rdp_xfer_inferior_memory (args[0].n, "", 1, 1, 0
, 0
);
return 1;
default:
return 1;
default:
@@
-943,7
+913,7
@@
exec_swi (swi, args)
static void
static void
-handle_swi ()
+handle_swi (
void
)
{
argsin args[3];
char *buf;
{
argsin args[3];
char *buf;
@@
-980,6
+950,7
@@
handle_swi ()
buf,
len,
0,
buf,
len,
0,
+ 0,
0);
}
else
0);
}
else
@@
-995,7
+966,7
@@
handle_swi ()
break;
default:
break;
default:
- error ("Unimplented SWI argument");
+ error ("Unimple
me
nted SWI argument");
}
type = type >> 2;
}
type = type >> 2;
@@
-1016,7
+987,7
@@
handle_swi ()
}
static void
}
static void
-rdp_execute_finish ()
+rdp_execute_finish (
void
)
{
int running = 1;
{
int running = 1;
@@
-1053,16
+1024,14
@@
rdp_execute_finish ()
static void
static void
-rdp_execute ()
+rdp_execute (
void
)
{
rdp_execute_start ();
rdp_execute_finish ();
}
static int
{
rdp_execute_start ();
rdp_execute_finish ();
}
static int
-remote_rdp_insert_breakpoint (addr, save)
- CORE_ADDR addr;
- char *save;
+remote_rdp_insert_breakpoint (CORE_ADDR addr, char *save)
{
int res;
if (ds.rdi_level > 0)
{
int res;
if (ds.rdi_level > 0)
@@
-1086,9
+1055,7
@@
remote_rdp_insert_breakpoint (addr, save)
}
static int
}
static int
-remote_rdp_remove_breakpoint (addr, save)
- CORE_ADDR addr;
- char *save;
+remote_rdp_remove_breakpoint (CORE_ADDR addr, char *save)
{
int res;
if (ds.rdi_level > 0)
{
int res;
if (ds.rdi_level > 0)
@@
-1109,7
+1076,7
@@
remote_rdp_remove_breakpoint (addr, save)
}
static void
}
static void
-rdp_step ()
+rdp_step (
void
)
{
if (ds.can_step && 0)
{
{
if (ds.can_step && 0)
{
@@
-1125,16
+1092,14
@@
rdp_step ()
char handle[4];
CORE_ADDR pc = read_register (PC_REGNUM);
pc = arm_get_next_pc (pc);
char handle[4];
CORE_ADDR pc = read_register (PC_REGNUM);
pc = arm_get_next_pc (pc);
- remote_rdp_insert_breakpoint (pc,
&
handle);
+ remote_rdp_insert_breakpoint (pc, handle);
rdp_execute ();
rdp_execute ();
- remote_rdp_remove_breakpoint (pc,
&
handle);
+ remote_rdp_remove_breakpoint (pc, handle);
}
}
static void
}
}
static void
-remote_rdp_open (args, from_tty)
- char *args;
- int from_tty;
+remote_rdp_open (char *args, int from_tty)
{
int not_icebreaker;
{
int not_icebreaker;
@@
-1204,8
+1169,7
@@
remote_rdp_open (args, from_tty)
/* Close out all files and local state before this target loses control. */
static void
/* Close out all files and local state before this target loses control. */
static void
-remote_rdp_close (quitting)
- int quitting;
+remote_rdp_close (int quitting)
{
callback->shutdown (callback);
if (io)
{
callback->shutdown (callback);
if (io)
@@
-1219,9
+1183,7
@@
remote_rdp_close (quitting)
to the target, or zero for no signal. */
static void
to the target, or zero for no signal. */
static void
-remote_rdp_resume (pid, step, siggnal)
- int pid, step;
- enum target_signal siggnal;
+remote_rdp_resume (ptid_t ptid, int step, enum target_signal siggnal)
{
if (step)
rdp_step ();
{
if (step)
rdp_step ();
@@
-1233,10
+1195,8
@@
remote_rdp_resume (pid, step, siggnal)
or -1 in case of error; store status through argument pointer STATUS,
just as `wait' would. */
or -1 in case of error; store status through argument pointer STATUS,
just as `wait' would. */
-static int
-remote_rdp_wait (pid, status)
- int pid;
- struct target_waitstatus *status;
+static ptid_t
+remote_rdp_wait (ptid_t ptid, struct target_waitstatus *status)
{
switch (ds.rdi_stopped_status)
{
{
switch (ds.rdi_stopped_status)
{
@@
-1262,7
+1222,7
@@
remote_rdp_wait (pid, status)
#endif
}
#endif
}
- return inferior_pid;
+ return inferior_p
t
id;
}
/* Get ready to modify the registers array. On machines which store
}
/* Get ready to modify the registers array. On machines which store
@@
-1272,18
+1232,22
@@
remote_rdp_wait (pid, status)
debugged. */
static void
debugged. */
static void
-remote_rdp_prepare_to_store ()
+remote_rdp_prepare_to_store (
void
)
{
/* Do nothing, since we can store individual regs */
}
{
/* Do nothing, since we can store individual regs */
}
+/* Transfer LEN bytes between GDB address MYADDR and target address
+ MEMADDR. If WRITE is non-zero, transfer them to the target,
+ otherwise transfer them from the target. TARGET is unused.
+
+ Returns the number of bytes transferred. */
+
static int
static int
-remote_rdp_xfer_inferior_memory (memaddr, myaddr, len, write, target)
- CORE_ADDR memaddr;
- char *myaddr;
- int len;
- int write;
- struct target_ops *target; /* ignored */
+remote_rdp_xfer_inferior_memory (CORE_ADDR memaddr, char *myaddr, int len,
+ int write,
+ struct mem_attrib *attrib ATTRIBUTE_UNUSED,
+ struct target_ops *target ATTRIBUTE_UNUSED)
{
/* I infer from D Taylor's code that there's a limit on the amount
we can transfer in one chunk.. */
{
/* I infer from D Taylor's code that there's a limit on the amount
we can transfer in one chunk.. */
@@
-1348,9
+1312,7
@@
static struct yn breakinfo[] =
static void
static void
-dump_bits (t, info)
- struct yn *t;
- int info;
+dump_bits (struct yn *t, int info)
{
while (t->name)
{
{
while (t->name)
{
@@
-1360,8
+1322,7
@@
dump_bits (t, info)
}
static void
}
static void
-remote_rdp_files_info (target)
- struct target_ops *target;
+remote_rdp_files_info (struct target_ops *target)
{
printf_filtered ("Target capabilities:\n");
dump_bits (stepinfo, ds.step_info);
{
printf_filtered ("Target capabilities:\n");
dump_bits (stepinfo, ds.step_info);
@@
-1371,10
+1332,7
@@
remote_rdp_files_info (target)
static void
static void
-remote_rdp_create_inferior (exec_file, allargs, env)
- char *exec_file;
- char *allargs;
- char **env;
+remote_rdp_create_inferior (char *exec_file, char *allargs, char **env)
{
CORE_ADDR entry_point;
{
CORE_ADDR entry_point;
@@
-1390,7
+1348,7
@@
remote_rdp_create_inferior (exec_file, allargs, env)
/* This gives us a chance to set up the command line */
rdp_set_command_line (exec_file, allargs);
/* This gives us a chance to set up the command line */
rdp_set_command_line (exec_file, allargs);
- inferior_p
id = 42
;
+ inferior_p
tid = pid_to_ptid (42)
;
insert_breakpoints (); /* Needed to get correct instruction in cache */
/*
insert_breakpoints (); /* Needed to get correct instruction in cache */
/*
@@
-1404,16
+1362,14
@@
remote_rdp_create_inferior (exec_file, allargs, env)
/* Accept any stray run/attach commands */
static int
/* Accept any stray run/attach commands */
static int
-remote_rdp_can_run ()
+remote_rdp_can_run (
void
)
{
return 1;
}
/* Attach doesn't need to do anything */
static void
{
return 1;
}
/* Attach doesn't need to do anything */
static void
-remote_rdp_attach (args, from_tty)
- char *args;
- int from_tty;
+remote_rdp_attach (char *args, int from_tty)
{
return;
}
{
return;
}
@@
-1477,7
+1433,6
@@
init_remote_rdp_ops (void)
remote_rdp_ops.to_thread_alive = 0;
remote_rdp_ops.to_stop = 0;
remote_rdp_ops.to_pid_to_exec_file = NULL;
remote_rdp_ops.to_thread_alive = 0;
remote_rdp_ops.to_stop = 0;
remote_rdp_ops.to_pid_to_exec_file = NULL;
- remote_rdp_ops.to_core_file_to_sym_file = NULL;
remote_rdp_ops.to_stratum = process_stratum;
remote_rdp_ops.DONT_USE = NULL;
remote_rdp_ops.to_has_all_memory = 1;
remote_rdp_ops.to_stratum = process_stratum;
remote_rdp_ops.DONT_USE = NULL;
remote_rdp_ops.to_has_all_memory = 1;
@@
-1491,7
+1446,7
@@
init_remote_rdp_ops (void)
}
void
}
void
-_initialize_remote_rdp ()
+_initialize_remote_rdp (
void
)
{
init_remote_rdp_ops ();
add_target (&remote_rdp_ops);
{
init_remote_rdp_ops ();
add_target (&remote_rdp_ops);
This page took
0.030395 seconds
and
4
git commands to generate.