mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 11:39:26 +08:00
Mark register unavailable when PTRACE_PEEKUSER fails
As described in PR 18749, GDB/GDBserver may get an error on accessing memory or register because the thread may disappear. However, some path doesn't expect the error. This patch fixes this problem by marking the register unavailable when PTRACE_PEEKUSER fails instead of throwing error. gdb/gdbserver: 2018-01-16 Yao Qi <yao.qi@linaro.org> PR gdb/18749 * linux-low.c (fetch_register): Call supply_register instead of error.
This commit is contained in:
@ -1,3 +1,9 @@
|
||||
2018-01-16 Yao Qi <yao.qi@linaro.org>
|
||||
|
||||
PR gdb/18749
|
||||
* linux-low.c (fetch_register): Call supply_register instead of
|
||||
error.
|
||||
|
||||
2018-01-08 Yao Qi <yao.qi@linaro.org>
|
||||
Simon Marchi <simon.marchi@ericsson.com>
|
||||
|
||||
|
@ -5555,7 +5555,11 @@ fetch_register (const struct usrregs_info *usrregs,
|
||||
(PTRACE_TYPE_ARG3) (uintptr_t) regaddr, (PTRACE_TYPE_ARG4) 0);
|
||||
regaddr += sizeof (PTRACE_XFER_TYPE);
|
||||
if (errno != 0)
|
||||
error ("reading register %d: %s", regno, strerror (errno));
|
||||
{
|
||||
/* Mark register REGNO unavailable. */
|
||||
supply_register (regcache, regno, NULL);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (the_low_target.supply_ptrace_register)
|
||||
|
Reference in New Issue
Block a user