diff options
| author | Yao Qi <yao@codesourcery.com> | 2014-02-11 12:20:05 +0800 | 
|---|---|---|
| committer | Yao Qi <yao@codesourcery.com> | 2014-02-23 11:44:27 +0800 | 
| commit | 1ee79381dd9cc2438a61fe4a96294682744d2458 (patch) | |
| tree | cacc74d2ed737ebef23b92e7688f1974b2a0012b /gdb/ctf.c | |
| parent | 1ca49d376dec6a93e879bc9456617622d7e349b3 (diff) | |
| download | binutils-1ee79381dd9cc2438a61fe4a96294682744d2458.zip binutils-1ee79381dd9cc2438a61fe4a96294682744d2458.tar.gz binutils-1ee79381dd9cc2438a61fe4a96294682744d2458.tar.bz2  | |
Use new to_xfer_partial interface in ctf and tfile target
This patch adjust both ctf and tfile target implementation of to_xfer_partial,
to return TARGET_XFER_E_UNAVAILABLE and set *XFERED_LEN if data is
unavailable.  Note that some code on xfer in exec.c can be shared, but
we can do it in a separate pass later.
gdb:
2014-02-23  Yao Qi  <yao@codesourcery.com>
	* exec.c (section_table_read_available_memory): New function.
	* exec.h (section_table_read_available_memory): Declare.
	* ctf.c (ctf_xfer_partial): Call
	section_table_read_available_memory.
	* tracefile-tfile.c (tfile_xfer_partial): Likewise.
Diffstat (limited to 'gdb/ctf.c')
| -rw-r--r-- | gdb/ctf.c | 9 | 
1 files changed, 7 insertions, 2 deletions
@@ -1465,9 +1465,14 @@ ctf_xfer_partial (struct target_ops *ops, enum target_object object,        /* Restore the position.  */        bt_iter_set_pos (bt_ctf_get_iter (ctf_iter), pos); -    } -  return exec_read_partial_read_only (readbuf, offset, len, xfered_len); +      return exec_read_partial_read_only (readbuf, offset, len, xfered_len); +    } +  else +    { +      /* Fallback to reading from read-only sections.  */ +      return section_table_read_available_memory (readbuf, offset, len, xfered_len); +    }  }  /* This is the implementation of target_ops method  | 
