gdb: get gdbarch from syscall_catchpoint instead of location

I noticed some methods of syscall_catchpoint doing this:

  struct gdbarch *gdbarch = loc->owner->gdbarch;

`loc` is the list of locations of this catchpoint.  Logically, the owner
the locations are this catchpoint.  So this just ends up getting
this->gdbarch.  Remove the unnecessary indirection through the loc.

syscall_catchpoint::print_recreate does something slightly different,
getting its arch from the loc:

  struct gdbarch *gdbarch = loc->gdbarch;

I suppose it's always going to be the same arch, so get it from the
catchpoint there too.

Change-Id: I6f6a6f8e0cd7cfb754cecfb6249e71ec12ba4855
Reviewed-By: Alexandra Petlanova Hajkova <ahajkova@redhat.com>
Reviewed-By: Andrew Burgess <aburgess@redhat.com>
This commit is contained in:
Simon Marchi
2023-05-08 15:45:52 -04:00
parent 7529ff1fcd
commit 26a69f095f

View File

@@ -197,7 +197,6 @@ syscall_catchpoint::print_it (const bpstat *bs) const
must print "called syscall" or "returned from syscall". */
struct target_waitstatus last;
struct syscall s;
struct gdbarch *gdbarch = b->gdbarch;
get_last_target_status (nullptr, nullptr, &last);
@@ -242,7 +241,6 @@ syscall_catchpoint::print_one (bp_location **last_loc) const
{
struct value_print_options opts;
struct ui_out *uiout = current_uiout;
struct gdbarch *gdbarch = loc->owner->gdbarch;
get_user_print_options (&opts);
/* Field 4, the address, is omitted (which makes the columns not
@@ -293,8 +291,6 @@ syscall_catchpoint::print_one (bp_location **last_loc) const
void
syscall_catchpoint::print_mention () const
{
struct gdbarch *gdbarch = loc->owner->gdbarch;
if (!syscalls_to_be_caught.empty ())
{
if (syscalls_to_be_caught.size () > 1)
@@ -323,8 +319,6 @@ syscall_catchpoint::print_mention () const
void
syscall_catchpoint::print_recreate (struct ui_file *fp) const
{
struct gdbarch *gdbarch = loc->gdbarch;
gdb_printf (fp, "catch syscall");
for (int iter : syscalls_to_be_caught)