diff options
author | Gary Benson <gbenson@redhat.com> | 2015-06-10 14:28:43 +0100 |
---|---|---|
committer | Gary Benson <gbenson@redhat.com> | 2015-06-10 14:28:43 +0100 |
commit | 07c138c8ae2b11d417c9799202363a95a2d06881 (patch) | |
tree | f9e4e351dd13738a439fbf69f75c06b5e9c38dc3 /gdb/remote.c | |
parent | 12e2a5fdccfc6857c57d2e0a1c1e5fd136a94025 (diff) | |
download | binutils-gdb-07c138c8ae2b11d417c9799202363a95a2d06881.tar.gz |
Add "inferior" argument to some target_fileio functions
This commit adds a new argument to all target_fileio functions with
filename arguments to allow the desired inferior to be specified.
This allows GDB to support systems where processes do not necessarily
share a common filesystem.
gdb/ChangeLog:
* target.h (struct inferior): New forward declaration.
(struct target_ops) <to_filesystem_is_local>: Update comment.
(struct target_ops) <to_fileio_open>: New argument inf.
Update comment. All implementations updated.
(struct target_ops) <to_fileio_unlink>: Likewise.
(struct target_ops) <to_fileio_readlink>: Likewise.
(target_filesystem_is_local): Update comment.
(target_fileio_open): New argument inf. Update comment.
(target_fileio_unlink): Likewise.
(target_fileio_readlink): Likewise.
(target_fileio_read_alloc): Likewise.
(target_fileio_read_stralloc): Likewise.
* target.c (target_fileio_open): New argument inf.
Pass inf to implementation. Update debug printing.
(target_fileio_unlink): Likewise.
(target_fileio_readlink): Likewise.
(target_fileio_read_alloc_1): New argument inf. Pass inf
to target_fileio_open.
(target_fileio_read_alloc): New argument inf. Pass inf to
target_fileio_read_alloc_1.
(target_fileio_read_stralloc): Likewise.
* gdb_bfd.c (inferior.h): New include.
(gdb_bfd_iovec_fileio_open): Replace unused "open_closure"
argument with new argument "inferior". Pass inferior to
target_fileio_open.
(gdb_bfd_open): Supply inferior argument to
gdb_bfd_iovec_fileio_open.
* linux-tdep.c (linux_info_proc): Supply inf argument to
relevant target_fileio calls.
(linux_find_memory_regions_full): Likewise.
(linux_fill_prpsinfo): Likewise.
* remote.c (remote_filesystem_is_local): Supply inf
argument to remote_hostio_open.
(remote_file_put): Likewise.
(remote_file_get): Likewise.
(remote_file_delete): Supply inf argument to
remote_hostio_unlink.
Diffstat (limited to 'gdb/remote.c')
-rw-r--r-- | gdb/remote.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/gdb/remote.c b/gdb/remote.c index e6bc3fc0d54..f8682b4ed19 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -10217,8 +10217,8 @@ remote_hostio_send_command (int command_bytes, int which_packet, static int remote_hostio_open (struct target_ops *self, - const char *filename, int flags, int mode, - int *remote_errno) + struct inferior *inf, const char *filename, + int flags, int mode, int *remote_errno) { struct remote_state *rs = get_remote_state (); char *p = rs->buf; @@ -10326,7 +10326,8 @@ remote_hostio_close (struct target_ops *self, int fd, int *remote_errno) static int remote_hostio_unlink (struct target_ops *self, - const char *filename, int *remote_errno) + struct inferior *inf, const char *filename, + int *remote_errno) { struct remote_state *rs = get_remote_state (); char *p = rs->buf; @@ -10345,7 +10346,8 @@ remote_hostio_unlink (struct target_ops *self, static char * remote_hostio_readlink (struct target_ops *self, - const char *filename, int *remote_errno) + struct inferior *inf, const char *filename, + int *remote_errno) { struct remote_state *rs = get_remote_state (); char *p = rs->buf; @@ -10461,7 +10463,7 @@ remote_filesystem_is_local (struct target_ops *self) /* Try opening a file to probe support. The supplied filename is irrelevant, we only care about whether the stub recognizes the packet or not. */ - fd = remote_hostio_open (self, "just probing", + fd = remote_hostio_open (self, NULL, "just probing", FILEIO_O_RDONLY, 0700, &remote_errno); @@ -10581,7 +10583,7 @@ remote_file_put (const char *local_file, const char *remote_file, int from_tty) perror_with_name (local_file); back_to = make_cleanup_fclose (file); - fd = remote_hostio_open (find_target_at (process_stratum), + fd = remote_hostio_open (find_target_at (process_stratum), NULL, remote_file, (FILEIO_O_WRONLY | FILEIO_O_CREAT | FILEIO_O_TRUNC), 0700, &remote_errno); @@ -10667,7 +10669,7 @@ remote_file_get (const char *remote_file, const char *local_file, int from_tty) if (!rs->remote_desc) error (_("command can only be used with remote target")); - fd = remote_hostio_open (find_target_at (process_stratum), + fd = remote_hostio_open (find_target_at (process_stratum), NULL, remote_file, FILEIO_O_RDONLY, 0, &remote_errno); if (fd == -1) remote_hostio_error (remote_errno); @@ -10722,7 +10724,7 @@ remote_file_delete (const char *remote_file, int from_tty) error (_("command can only be used with remote target")); retcode = remote_hostio_unlink (find_target_at (process_stratum), - remote_file, &remote_errno); + NULL, remote_file, &remote_errno); if (retcode == -1) remote_hostio_error (remote_errno); |