Move the traceframe_available_memory code from memory_xfer_partial_1 down to the...
authorYao Qi <yao@codesourcery.com>
Tue, 11 Mar 2014 02:47:48 +0000 (10:47 +0800)
committerYao Qi <yao@codesourcery.com>
Sat, 22 Mar 2014 10:31:30 +0000 (18:31 +0800)
commit8acf9577e5acd99c23fe8f3fa87a961668de7805
tree23ca50f0997a15f90038522062faa4e75ab8cc9f
parent25d743f9e6f23ec5fc1529a56d7178ad9cfe5611
Move the traceframe_available_memory code from memory_xfer_partial_1 down to the targets

As a follow-up to

  [PATCH 7/8] Adjust read_value_memory to use to_xfer_partial
  https://sourceware.org/ml/gdb-patches/2014-02/msg00384.html

this patch moves traceframe_available_memory down to the target side.
After this patch, the gdb core code is cleaner, and code on handling
unavailable memory is moved to remote/tfile/ctf targets.

In details, this patch moves traceframe_available_memory code from
memory_xfer_partial_1 to remote target only, so remote target still
uses traceframe_info mechanism to check unavailable memory, and use
remote_ops to read them from read-only sections.  We don't use
traceframe_info mechanism for tfile and ctf target, because it is
fast to iterate all traceframes from trace file, so the summary
information got from traceframe_info is not necessary.

This patch also moves two functions to remote.c from target.c,
because they are only used in remote.c.  I'll clean them up in another
patch.

gdb:

2014-03-22  Yao Qi  <yao@codesourcery.com>

* ctf.c (ctf_xfer_partial): Check the return value of
exec_read_partial_read_only, if it is not TARGET_XFER_OK,
return TARGET_XFER_UNAVAILABLE.
* tracefile-tfile.c (tfile_xfer_partial): Likewise.
* target.c (target_read_live_memory): Move it to remote.c.
(memory_xfer_live_readonly_partial): Likewise.
(memory_xfer_partial_1): Move some code to remote_read_bytes.
* remote.c (target_read_live_memory): Moved from target.c.
(memory_xfer_live_readonly_partial): Likewise.
(remote_read_bytes): New, factored out from
memory_xfer_partial_1.
gdb/ChangeLog
gdb/ctf.c
gdb/remote.c
gdb/target.c
gdb/tracefile-tfile.c