diff options
author | Gary Benson <gbenson@redhat.com> | 2015-08-21 17:09:20 +0100 |
---|---|---|
committer | Gary Benson <gbenson@redhat.com> | 2015-08-21 17:11:36 +0100 |
commit | 4313b8c0ed5877feb5034bfff4056e1ccfe221f1 (patch) | |
tree | b5585d614337ee376a5dc247272d846254e1dc88 /gdb/target.h | |
parent | f36b87190aed31b1ef7787e5966be542e8abdb58 (diff) | |
download | gdb-4313b8c0ed5877feb5034bfff4056e1ccfe221f1.zip gdb-4313b8c0ed5877feb5034bfff4056e1ccfe221f1.tar.gz gdb-4313b8c0ed5877feb5034bfff4056e1ccfe221f1.tar.bz2 |
Warn when accessing binaries from remote targets
GDB provides no indicator of progress during file operations, and can
appear to have locked up during slow remote transfers. This commit
updates GDB to print a warning each time a file is accessed over RSP.
An additional message detailing how to avoid remote transfers is
printed for the first transfer only.
gdb/ChangeLog:
* target.h (struct target_ops) <to_fileio_open>: New argument
warn_if_slow. Update comment. All implementations updated.
(target_fileio_open_warn_if_slow): New declaration.
* target.c (target_fileio_open): Renamed as...
(target_fileio_open_1): ...this. New argument warn_if_slow.
Pass warn_if_slow to implementation. Update debug printing.
(target_fileio_open): New function.
(target_fileio_open_warn_if_slow): Likewise.
* gdb_bfd.c (gdb_bfd_iovec_fileio_open): Use new function
target_fileio_open_warn_if_slow.
gdb/testsuite/ChangeLog:
* gdb.trace/pending.exp: Cope with remote transfer warnings.
Diffstat (limited to 'gdb/target.h')
-rw-r--r-- | gdb/target.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/gdb/target.h b/gdb/target.h index e283c86..1fdaf00 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -873,11 +873,14 @@ struct target_ops /* Open FILENAME on the target, in the filesystem as seen by INF, using FLAGS and MODE. If INF is NULL, use the filesystem seen by the debugger (GDB or, for remote targets, the remote stub). - Return a target file descriptor, or -1 if an error occurs (and - set *TARGET_ERRNO). */ + If WARN_IF_SLOW is nonzero, print a warning message if the file + is being accessed over a link that may be slow. Return a + target file descriptor, or -1 if an error occurs (and set + *TARGET_ERRNO). */ int (*to_fileio_open) (struct target_ops *, struct inferior *inf, const char *filename, - int flags, int mode, int *target_errno); + int flags, int mode, int warn_if_slow, + int *target_errno); /* Write up to LEN bytes from WRITE_BUF to FD on the target. Return the number of bytes written, or -1 if an error occurs @@ -2007,6 +2010,14 @@ extern int target_fileio_open (struct inferior *inf, const char *filename, int flags, int mode, int *target_errno); +/* Like target_fileio_open, but print a warning message if the + file is being accessed over a link that may be slow. */ +extern int target_fileio_open_warn_if_slow (struct inferior *inf, + const char *filename, + int flags, + int mode, + int *target_errno); + /* Write up to LEN bytes from WRITE_BUF to FD on the target. Return the number of bytes written, or -1 if an error occurs (and set *TARGET_ERRNO). */ |