This is the mail archive of the gdb-patches@sources.redhat.com 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: [RFA] SSE registers for cygxin target.


> On Mon, 26 Nov 2001, Pierre Muller wrote:
> 
> 
>> -#undef HAVE_SSE_REGS	/* FIXME! win32-nat.c needs to support XMMi registers */
>> +/* Use SSE registers if winnt.h contains information about them.  */
>> +#ifdef HAVE_CONTEXT_EXTENDED_REGISTERS
>> +#define HAVE_SSE_REGS
>> +#else
> 
> 
> Is it wise to have SSE registers supported based on the compile-time 
> test?  What if the machine on which GDB runs doesn't have SSE?  Don't you 
> need a run-time test as well?

In theory?  Yes, definitly.  In reality?  GDB has been avoiding the 
problem and instead has been hardwiring the configurations.  Sigh.

(This also looks like the PPC and SPARC problem - regcache_collect() is 
flushing it out ....)

The theory goes something like this:

	o	regcache is made large enough to hold
		all the registers (SSE in this case)

	o	each target (remote.c, *-nat.c) all supply
		and/sor collect the registers they have
		into the regcache

	o	on the other side, core-gdbarch register read/write
		are (dynamically) configured to display
		the registers, within the register cache

Things to note:

	o	the core and the target can disagree on
		which registers are available but _not_
		on the layout of the regcache.

	o	GDB is going to need to make a pretty good
		educated guess as to what should be displayed
		when it starts - there may be no target
		to tell the truth.

This is why I've been hacking remote.c - more changes to follow.

	Andrew


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