This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [2/10] Remove &builtin_type_ from tdep code (amd64/s390/sparc64)
On Tuesday 12 June 2007 19:14, Daniel Jacobowitz wrote:
> On Sat, Jun 09, 2007 at 01:14:58AM +0200, Ulrich Weigand wrote:
> > Hello,
> >
> > a number of platforms (amd64, s390, sparc64) were using a global data
> > structure containing pointers to types describing the register types.
> > This is broken if those types need to be platform-specific.
> >
> > The following patch removes those global data structures, and converts
> > the affected architectures to simply return the types dynamically from
> > the register_type callback, as all other platforms do as well.
>
> In-flight collision warning: the m68k ColdFire patch may reintroduce an
> occurance of this, for the long double type.
Current version of the patch indeed has this:
+ if (flavour == m68k_coldfire_flavour)
+ tdep->fpreg_type = &builtin_type_double;
+ else
+ tdep->fpreg_type = &builtin_type_m68881_ext;
I suppose I can change m68k_register_type to directly return
the type, but I'm not sure why
return builtin_type_double;
is better than:
return *x;
where x = &builtin_type_double;
Ulrich, can you explain that to me?
Thanks,
Volodya