The Gnu DeBugger is unable to display the xmm registers as hex. These registers are shared with the floating point unit and are always displayed as floats. I searched the web for quite a while for a solution to this problem but to no avail. I'm writing this report in case someone else is searching. I even joined the gdb mailing list and asked there, the #gcc channel and no one had an answer. I was porting some MMX routines to SSE and they were failing and I couldn't find the bug so I had to do something. I have created a patch that provides a very inelegant work around but does work. It applies to the current CVS versions, 6.3, and the build in portage (if you get the source and tweak it). Basically it provides a #define that can be set to 0/1 for float/hex and then requires a rebuild. Ugly, I know, but functional. I hope this helps someone.
Created attachment 58851 [details, diff] An ugly fix
Created attachment 73397 [details, diff] Display SSE2 registers as builtin_type_vec128i Mike: Sorry, forgot about the patch yesterday :-/ Here it is know. Additionally to adding thing patch, could you remove the 5.3 and 6.0 patches in the ${FILESDIR}? I think they aren't used by any of the versions anymore...
Oh yeah, kugelfang's solution is much better from a display point of view. The vectors are displayed in a wide variety of formats. Mine just changed from one to the other. I hope you apply this vapier and forward it upstream too.
can someone post links to upstream e-mails/bugreports where this patch has been proposed ?
Please reopen when someone can point to what Spanky asked for.
no point in closing the bug, ive already added the patch ... i just need some upstream references
Ah. I didn't see that you added it and assumed you were waiting for something from upstream before proceeding. http://sources.redhat.com/ml/gdb-patches/2005-06/msg00368.html That seems to be the upstream version of the patch that is in their CVS. Seems to be what we were talking about here.
thanks