aboutsummaryrefslogtreecommitdiff
path: root/gdbserver/netbsd-low.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/netbsd-low.cc
parentcbd02f9fa521a6cb21c04b15ee7671c8bb4be55b (diff)
downloadgdb-43e5fbd8b78848c89c1d0305396464039e452688.zip
gdb-43e5fbd8b78848c89c1d0305396464039e452688.tar.gz
gdb-43e5fbd8b78848c89c1d0305396464039e452688.tar.bz2
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/netbsd-low.cc')
-rw-r--r--gdbserver/netbsd-low.cc4
1 files changed, 1 insertions, 3 deletions
diff --git a/gdbserver/netbsd-low.cc b/gdbserver/netbsd-low.cc
index 15afa36..4defd79 100644
--- a/gdbserver/netbsd-low.cc
+++ b/gdbserver/netbsd-low.cc
@@ -581,11 +581,9 @@ netbsd_read_auxv(pid_t pid, void *offs, void *addr, size_t len)
to debugger memory starting at MYADDR. */
int
-netbsd_process_target::read_auxv (CORE_ADDR offset,
+netbsd_process_target::read_auxv (int pid, CORE_ADDR offset,
unsigned char *myaddr, unsigned int len)
{
- pid_t pid = pid_of (current_thread);
-
return netbsd_read_auxv (pid, (void *) (intptr_t) offset, myaddr, len);
}