summaryrefslogtreecommitdiff
path: root/gdbserver/server.cc
diff options
context:
space:
mode:
authorThiago Jung Bauermann <thiago.bauermann@linaro.org>2022-08-18 18:21:18 +0000
committerThiago Jung Bauermann <thiago.bauermann@linaro.org>2023-02-01 20:42:50 +0000
commit43e5fbd8b78848c89c1d0305396464039e452688 (patch)
treef6018863dffb0433fb0631109440ba8689e45d8a /gdbserver/server.cc
parentcbd02f9fa521a6cb21c04b15ee7671c8bb4be55b (diff)
downloadbinutils-gdb-43e5fbd8b78848c89c1d0305396464039e452688.tar.gz
gdbserver: Add PID parameter to linux_get_auxv and linux_get_hwcap
This patch doesn't change gdbserver behaviour, but after later changes are made it avoids a null pointer dereference when HWCAP needs to be obtained for a specific process while current_thread is nullptr. Fixing linux_read_auxv, linux_get_hwcap and linux_get_hwcap2 to take a PID parameter seems more correct than setting current_thread in one particular code path. Changes are propagated to allow passing the new parameter through the call chain. Approved-By: Simon Marchi <simon.marchi@efficios.com>
Diffstat (limited to 'gdbserver/server.cc')
-rw-r--r--gdbserver/server.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdbserver/server.cc b/gdbserver/server.cc
index d802e8b4a34..21fb51a45d1 100644
--- a/gdbserver/server.cc
+++ b/gdbserver/server.cc
@@ -1443,7 +1443,8 @@ handle_qxfer_auxv (const char *annex,
if (annex[0] != '\0' || current_thread == NULL)
return -1;
- return the_target->read_auxv (offset, readbuf, len);
+ return the_target->read_auxv (current_thread->id.pid (), offset, readbuf,
+ len);
}
/* Handle qXfer:exec-file:read. */