aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2022-11-25 16:27:15 -0500
committerSimon Marchi <simon.marchi@polymtl.ca>2022-12-02 14:46:38 -0500
commitf9f593ddb2dee399e1ad24370c8e627aa4262524 (patch)
treea2359a9a9a4118ef16c0e5c87ed7102ec555016c
parentf8baaa2b0bfe410f41cf1ca5c87ae78ca59587e5 (diff)
downloadgdb-f9f593ddb2dee399e1ad24370c8e627aa4262524.zip
gdb-f9f593ddb2dee399e1ad24370c8e627aa4262524.tar.gz
gdb-f9f593ddb2dee399e1ad24370c8e627aa4262524.tar.bz2
gdb/linux-nat: add pid parameter to linux_proc_xfer_memory_partial
Add a pid parameter to linux_proc_xfer_memory_partial, making the inferior_ptid reference bubble up close to the target_ops::xfer_partial boundary. No behavior change expected. Change-Id: I58171b00ee1bba1ea22efdbb5dcab8b1ab3aac4c
-rw-r--r--gdb/linux-nat.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index 0b3c143..17e5dce 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -3667,8 +3667,9 @@ linux_nat_xfer_osdata (enum target_object object,
ULONGEST *xfered_len);
static enum target_xfer_status
-linux_proc_xfer_memory_partial (gdb_byte *readbuf, const gdb_byte *writebuf,
- ULONGEST offset, LONGEST len, ULONGEST *xfered_len);
+linux_proc_xfer_memory_partial (int pid, gdb_byte *readbuf,
+ const gdb_byte *writebuf, ULONGEST offset,
+ LONGEST len, ULONGEST *xfered_len);
enum target_xfer_status
linux_nat_target::xfer_partial (enum target_object object,
@@ -3713,8 +3714,9 @@ linux_nat_target::xfer_partial (enum target_object object,
space, while the core was trying to write to the pre-exec
address space. */
if (proc_mem_file_is_writable ())
- return linux_proc_xfer_memory_partial (readbuf, writebuf,
- offset, len, xfered_len);
+ return linux_proc_xfer_memory_partial (inferior_ptid.pid (), readbuf,
+ writebuf, offset, len,
+ xfered_len);
}
return inf_ptrace_target::xfer_partial (object, annex, readbuf, writebuf,
@@ -3941,12 +3943,10 @@ linux_proc_xfer_memory_partial_fd (int fd, int pid,
threads. */
static enum target_xfer_status
-linux_proc_xfer_memory_partial (gdb_byte *readbuf, const gdb_byte *writebuf,
- ULONGEST offset, LONGEST len,
- ULONGEST *xfered_len)
+linux_proc_xfer_memory_partial (int pid, gdb_byte *readbuf,
+ const gdb_byte *writebuf, ULONGEST offset,
+ LONGEST len, ULONGEST *xfered_len)
{
- int pid = inferior_ptid.pid ();
-
auto iter = proc_mem_file_map.find (pid);
if (iter == proc_mem_file_map.end ())
return TARGET_XFER_EOF;