This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] SSE registers for cygxin target.
- From: Andrew Cagney <ac131313 at cygnus dot com>
- To: Eli Zaretskii <eliz at is dot elta dot co dot il>
- Cc: Pierre Muller <muller at cerbere dot u-strasbg dot fr>,gdb-patches at sources dot redhat dot com, Christopher Faylor <cgf at redhat dot com>
- Date: Mon, 26 Nov 2001 15:43:18 -0500
- Subject: Re: [RFA] SSE registers for cygxin target.
- References: <Pine.SUN.3.91.1011126143653.12758G-100000@is>
> 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