Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* Setting an SSE register to a certain value
@ 2005-12-27 16:16 Guillaume POIRIER
  2005-12-28  0:16 ` Jim Blandy
  0 siblings, 1 reply; 4+ messages in thread
From: Guillaume POIRIER @ 2005-12-27 16:16 UTC (permalink / raw)
  To: gdb

Hello,

I'm trying to find a solution to set an XMM register to a certain value.

I've tried
set $xmm2 = 0x000000000000000000000000FFFFFFFF
but I get the error message: "Invalid cast."
and I also tried:
set $xmm2 = (unint128) 0x000000000000000000000000FFFFFFFF
but I get the message the message "No symbol "uint128" in current context."

I've googled around and dig the mailing without finding a solution to
this problem.

I'm using GNU gdb 6.3-debian on and x86 platform.

If someone has the solution to my problem, I'd really appreciate to hear it.

Regards,
Guillaume
--
Life is pleasant. Death is peaceful. It's the transition that's troublesome.
    Isaac Asimov (1920 - 1992)


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Setting an SSE register to a certain value
  2005-12-27 16:16 Setting an SSE register to a certain value Guillaume POIRIER
@ 2005-12-28  0:16 ` Jim Blandy
  2005-12-28  4:22   ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Jim Blandy @ 2005-12-28  0:16 UTC (permalink / raw)
  To: Guillaume POIRIER; +Cc: gdb

On 12/27/05, Guillaume POIRIER <poirierg@gmail.com> wrote:
> I'm trying to find a solution to set an XMM register to a certain value.
>
> I've tried
> set $xmm2 = 0x000000000000000000000000FFFFFFFF
> but I get the error message: "Invalid cast."
> and I also tried:
> set $xmm2 = (unint128) 0x000000000000000000000000FFFFFFFF
> but I get the message the message "No symbol "uint128" in current context."
>
> I've googled around and dig the mailing without finding a solution to
> this problem.

If you say "print $xmm", don't you get a structure type?  GDB is
complaining that it doesn't know how to convert the 128-bit constant
you wrote to the register's structure type.  Try assigning to the
individual elements of one of the structure's members.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Setting an SSE register to a certain value
  2005-12-28  0:16 ` Jim Blandy
@ 2005-12-28  4:22   ` Eli Zaretskii
  2005-12-28  8:16     ` Guillaume POIRIER
  0 siblings, 1 reply; 4+ messages in thread
From: Eli Zaretskii @ 2005-12-28  4:22 UTC (permalink / raw)
  To: poirierg, Jim Blandy; +Cc: gdb

> Date: Tue, 27 Dec 2005 16:15:59 -0800
> From: Jim Blandy <jimb@red-bean.com>
> Cc: gdb@sources.redhat.com
> 
> On 12/27/05, Guillaume POIRIER <poirierg@gmail.com> wrote:
> > I'm trying to find a solution to set an XMM register to a certain value.
> >
> > I've tried
> > set $xmm2 = 0x000000000000000000000000FFFFFFFF
> > but I get the error message: "Invalid cast."
> > and I also tried:
> > set $xmm2 = (unint128) 0x000000000000000000000000FFFFFFFF
> > but I get the message the message "No symbol "uint128" in current context."
> >
> > I've googled around and dig the mailing without finding a solution to
> > this problem.
> 
> If you say "print $xmm", don't you get a structure type?  GDB is
> complaining that it doesn't know how to convert the 128-bit constant
> you wrote to the register's structure type.  Try assigning to the
> individual elements of one of the structure's members.

That is, try this:

  set $xmm2.uint128 = 0x000000000000000000000000FFFFFFFF


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Setting an SSE register to a certain value
  2005-12-28  4:22   ` Eli Zaretskii
@ 2005-12-28  8:16     ` Guillaume POIRIER
  0 siblings, 0 replies; 4+ messages in thread
From: Guillaume POIRIER @ 2005-12-28  8:16 UTC (permalink / raw)
  To: Jim Blandy, gdb

Hi,

On 12/28/05, Eli Zaretskii <eliz@gnu.org> wrote:
> > Date: Tue, 27 Dec 2005 16:15:59 -0800
> > From: Jim Blandy <jimb@red-bean.com>
> > Cc: gdb@sources.redhat.com
> >
> > On 12/27/05, Guillaume POIRIER <poirierg@gmail.com> wrote:
> > > I'm trying to find a solution to set an XMM register to a certain value.
> > >
> > > I've tried
> > > set $xmm2 = 0x000000000000000000000000FFFFFFFF
> > > but I get the error message: "Invalid cast."
> > > and I also tried:
> > > set $xmm2 = (unint128) 0x000000000000000000000000FFFFFFFF
> > > but I get the message the message "No symbol "uint128" in current context."
> > >
> > > I've googled around and dig the mailing without finding a solution to
> > > this problem.
> >
> > If you say "print $xmm", don't you get a structure type?

Yes, I do.


> > GDB is
> > complaining that it doesn't know how to convert the 128-bit constant
> > you wrote to the register's structure type.  Try assigning to the
> > individual elements of one of the structure's members.
>
> That is, try this:
>
>   set $xmm2.uint128 = 0x000000000000000000000000FFFFFFFF

Thanks you so much! That worked beautifully. I hope this information
can be added to your documentation as this will probably come in handy
to other people, don't you think? :-)


Guillaume
--
Life is pleasant. Death is peaceful. It's the transition that's troublesome.
   Isaac Asimov (1920 - 1992)


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-12-28  8:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-27 16:16 Setting an SSE register to a certain value Guillaume POIRIER
2005-12-28  0:16 ` Jim Blandy
2005-12-28  4:22   ` Eli Zaretskii
2005-12-28  8:16     ` Guillaume POIRIER

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox