diff options
author | Marcin KoĆcielnicki <koriakin@0x04.net> | 2016-02-18 09:21:38 +0100 |
---|---|---|
committer | Marcin KoĆcielnicki <koriakin@0x04.net> | 2016-02-18 17:21:22 +0100 |
commit | 5f034a78b986d30a90030b2409c61a8660b9b48c (patch) | |
tree | 312e005927c2673b81ad675d0e46e8b6ac5a5cd2 /gdb/arch-utils.h | |
parent | c304e18e5ca825f57963bd0c5f022fa8f5797b29 (diff) | |
download | binutils-gdb-5f034a78b986d30a90030b2409c61a8660b9b48c.tar.gz |
gdb: Add guess_tracepoint_registers hook to gdbarch.
When we're looking at a tracefile trace frame where registers are not
available, and the tracepoint has only one location, we supply
the location's address as the PC register. However, this only works
if PC is not a pseudo register, and individual architectures may want
to guess more registers. Add a gdbarch hook that will handle that.
gdb/ChangeLog:
* arch-utils.c (default_guess_tracepoint_registers): New function.
* arch-utils.h (default_guess_tracepoint_registers): New prototype.
* gdbarch.c: Regenerate.
* gdbarch.h: Regenerate.
* gdbarch.sh: Add guess_tracepoint_registers hook.
* tracefile.c (tracefile_fetch_registers): Use the new gdbarch hook.
Diffstat (limited to 'gdb/arch-utils.h')
-rw-r--r-- | gdb/arch-utils.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/arch-utils.h b/gdb/arch-utils.h index 3fad2c36340..9e1e70ea5e7 100644 --- a/gdb/arch-utils.h +++ b/gdb/arch-utils.h @@ -204,4 +204,8 @@ extern char *default_gcc_target_options (struct gdbarch *gdbarch); extern const char *default_gnu_triplet_regexp (struct gdbarch *gdbarch); extern int default_addressable_memory_unit_size (struct gdbarch *gdbarch); +extern void default_guess_tracepoint_registers (struct gdbarch *gdbarch, + struct regcache *regcache, + CORE_ADDR addr); + #endif |