mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-30 12:44:10 +08:00
Construct readonly regcache without address space
The address space is useless to readonly regcache, so this patch removes
the parameter to construct readonly regcache.
address_space was added in regcache by 6c95b8d
, but for read-write
regcache. regcache::aspace is used for various breakpoint/watchpoint
checking, and these regcache are not read-only regcache.
gdb:
2017-11-02 Yao Qi <yao.qi@linaro.org>
* frame.c (do_frame_register_read): Remove aspace.
* jit.c (jit_frame_sniffer): Likwise.
* ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
* regcache.c (regcache::regcache): Pass nullptr.
(regcache_print): Caller updated.
* regcache.h (regcache::regcache): Remove one constructor
parameter aspace.
This commit is contained in:
parent
6c6e9412e9
commit
f26ae15b47
@ -1,3 +1,13 @@
|
||||
2017-11-02 Yao Qi <yao.qi@linaro.org>
|
||||
|
||||
* frame.c (do_frame_register_read): Remove aspace.
|
||||
* jit.c (jit_frame_sniffer): Likwise.
|
||||
* ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
|
||||
* regcache.c (regcache::regcache): Pass nullptr.
|
||||
(regcache_print): Caller updated.
|
||||
* regcache.h (regcache::regcache): Remove one constructor
|
||||
parameter aspace.
|
||||
|
||||
2017-11-02 Yao Qi <yao.qi@linaro.org>
|
||||
|
||||
* regcache.h (regcache) <m_readonly_p>: Change it to const bool.
|
||||
|
@ -1020,9 +1020,8 @@ do_frame_register_read (void *src, int regnum, gdb_byte *buf)
|
||||
std::unique_ptr<struct regcache>
|
||||
frame_save_as_regcache (struct frame_info *this_frame)
|
||||
{
|
||||
const address_space *aspace = get_frame_address_space (this_frame);
|
||||
std::unique_ptr<struct regcache> regcache
|
||||
(new struct regcache (get_frame_arch (this_frame), aspace));
|
||||
(new struct regcache (get_frame_arch (this_frame)));
|
||||
|
||||
regcache_save (regcache.get (), do_frame_register_read, this_frame);
|
||||
return regcache;
|
||||
|
@ -1199,13 +1199,11 @@ jit_frame_sniffer (const struct frame_unwind *self,
|
||||
|
||||
gdb_assert (!*cache);
|
||||
|
||||
const address_space *aspace = get_frame_address_space (this_frame);
|
||||
|
||||
gdbarch = get_frame_arch (this_frame);
|
||||
|
||||
*cache = XCNEW (struct jit_unwind_private);
|
||||
priv_data = (struct jit_unwind_private *) *cache;
|
||||
priv_data->regcache = new regcache (gdbarch, aspace);
|
||||
priv_data->regcache = new regcache (gdbarch);
|
||||
priv_data->this_frame = this_frame;
|
||||
|
||||
callbacks.priv_data = priv_data;
|
||||
|
@ -1361,10 +1361,9 @@ ppu2spu_sniffer (const struct frame_unwind *self,
|
||||
{
|
||||
struct ppu2spu_cache *cache
|
||||
= FRAME_OBSTACK_CALLOC (1, struct ppu2spu_cache);
|
||||
|
||||
const address_space *aspace = get_frame_address_space (this_frame);
|
||||
std::unique_ptr<struct regcache> regcache
|
||||
(new struct regcache (data.gdbarch, aspace));
|
||||
(new struct regcache (data.gdbarch));
|
||||
|
||||
regcache_save (regcache.get (), ppu2spu_unwind_register, &data);
|
||||
|
||||
cache->frame_id = frame_id_build (base, func);
|
||||
|
@ -211,7 +211,7 @@ do_cooked_read (void *src, int regnum, gdb_byte *buf)
|
||||
}
|
||||
|
||||
regcache::regcache (readonly_t, const regcache &src)
|
||||
: regcache (src.arch (), src.aspace (), true)
|
||||
: regcache (src.arch (), nullptr, true)
|
||||
{
|
||||
gdb_assert (!src.m_readonly_p);
|
||||
save (do_cooked_read, (void *) &src);
|
||||
@ -1574,7 +1574,7 @@ regcache_print (const char *args, enum regcache_dump_what what_to_dump)
|
||||
/* For the benefit of "maint print registers" & co when
|
||||
debugging an executable, allow dumping a regcache even when
|
||||
there is no thread selected / no registers. */
|
||||
regcache dummy_regs (target_gdbarch (), nullptr);
|
||||
regcache dummy_regs (target_gdbarch ());
|
||||
dummy_regs.dump (out, what_to_dump);
|
||||
}
|
||||
}
|
||||
|
@ -232,8 +232,8 @@ typedef struct cached_reg
|
||||
class regcache
|
||||
{
|
||||
public:
|
||||
regcache (gdbarch *gdbarch, const address_space *aspace_)
|
||||
: regcache (gdbarch, aspace_, true)
|
||||
regcache (gdbarch *gdbarch)
|
||||
: regcache (gdbarch, nullptr, true)
|
||||
{}
|
||||
|
||||
struct readonly_t {};
|
||||
|
Loading…
Reference in New Issue
Block a user