This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC 02/23] Remove 'arch' field from regset structure
- From: Mark Kettenis <mark dot kettenis at xs4all dot nl>
- To: arnez at linux dot vnet dot ibm dot com
- Cc: gdb-patches at sourceware dot org, kevinb at redhat dot com, yao at codesourcery dot com
- Date: Mon, 5 May 2014 11:31:50 +0200 (CEST)
- Subject: Re: [RFC 02/23] Remove 'arch' field from regset structure
- Authentication-results: sourceware.org; auth=none
- References: <87eh0h6bkq dot fsf at br87z6lw dot de dot ibm dot com> <8738gx6bc2 dot fsf at br87z6lw dot de dot ibm dot com>
> From: Andreas Arnez <arnez@linux.vnet.ibm.com>
>
> Removes the 'arch' field from the regset structure, since it
> represents the only "dynamic" data in a regset. It was referenced in
> some regset supply- and collect routines, to get access to the gdbarch
> associated with the regset. Naturally, the affected routines always
> have access to the regcache to be supplied to or collected from. Thus
> the gdbarch associated with that regcache can be used instead.
>
> gdb/
> * regset.h (struct regset): Remove gdbarch field.
> * regset.c (regset_alloc): Drop initialization of gdbarch field.
> * nios2-linux-tdep.c (nios2_core_regset): Likewise.
> * ppcfbsd-tdep.c (ppc32_fbsd_gregset, ppc64_fbsd_gregset):
> Likewise.
> * ppc-linux-tdep.c (ppc32_linux_gregset, ppc64_linux_gregset)
> (ppc32_linux_fpregset, ppc32_linux_vrregset)
> (ppc32_linux_vsxregset): Likewise.
> * i386obsd-tdep.c (i386obsd_aout_supply_regset): Get the gdbarch
> via the regcache instead of the regset.
> * i386-tdep.c (i386_supply_gregset, i386_collect_gregset)
> (i386_supply_fpregset, i386_collect_fpregset): Likewise.
> * amd64obsd-tdep.c (amd64obsd_supply_regset): Likewise.
> * amd64-tdep.c (amd64_supply_fpregset, amd64_collect_fpregset):
> Likewise.
The
> - const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
> + const struct gdbarch_tdep *tdep = gdbarch_tdep (get_regcache_arch (regcache));
changes make the lines too long. I suggest changing them to:
struct gdbarch *gdbarch = get_regcache_arch (regcache);
const struct gdbarch_tdep *tdep = gdbarch_tdep(gdbarch);
Otherwise, this change is fine with me.