diff options
author | Andrew Burgess <aburgess@redhat.com> | 2022-10-20 11:14:33 +0100 |
---|---|---|
committer | Andrew Burgess <aburgess@redhat.com> | 2023-04-03 14:46:32 +0100 |
commit | 3812b38d8de5804ad3eadd6c7a5d532402ddabab (patch) | |
tree | 24567807fc8f29e4b8eaab45db57fcf4e9f494d6 /gdbserver/ax.h | |
parent | 0576dff20f052ab6d1ddba861235c7dc2584a145 (diff) | |
download | gdb-3812b38d8de5804ad3eadd6c7a5d532402ddabab.zip gdb-3812b38d8de5804ad3eadd6c7a5d532402ddabab.tar.gz gdb-3812b38d8de5804ad3eadd6c7a5d532402ddabab.tar.bz2 |
gdbserver: allow agent expressions to fail with invalid memory access
This commit extends gdbserver to take account of a failed memory
access from agent_mem_read, and to return a new eval_result_type
expr_eval_invalid_memory_access.
I have only updated the agent_mem_read calls related directly to
reading memory, I have not updated any of the calls related to
tracepoint data collection. This is just because I'm not familiar
with that area of gdb/gdbserver, and I don't want to break anything,
so leaving the existing behaviour untouched seems like the safest
approach.
I've then updated gdb.base/bp-cond-failure.exp to test evaluating the
breakpoints on the target, and have also extended the test so that it
checks for different sizes of memory access.
Diffstat (limited to 'gdbserver/ax.h')
-rw-r--r-- | gdbserver/ax.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gdbserver/ax.h b/gdbserver/ax.h index 8e64a7a..c98e36a 100644 --- a/gdbserver/ax.h +++ b/gdbserver/ax.h @@ -41,7 +41,8 @@ enum eval_result_type expr_eval_unhandled_opcode, expr_eval_unrecognized_opcode, expr_eval_divide_by_zero, - expr_eval_invalid_goto + expr_eval_invalid_goto, + expr_eval_invalid_memory_access }; struct agent_expr |