This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]