Subject: Re: g++ 3.4.0 cygwin, codegen SSE & alignement issues
From: [email-masked] (Ross Ridge)
To: [email-masked]
Cc: Ross Ridge <[email-masked]>, [email-masked]
Date: Thu, 29 Apr 2004 07:02:49 -0400 (EDT)

> SDL is a bit of a pain regarding cygwin (they insist on using mingw 
> etc)...

Well, if SDL is using Win32 functions to create threads then that's
something that needs to be fixed in SDL.

> Under some circumstances some *ps instructions are generated touching
>non local memory (put in .rdata with 4 byte alignement as pointed out
>by Ross Ridge):
...
>40872a: xorps 0x43b33c,%xmm2
>40ab83: andps 0x43b8ec,%xmm0
...
>I guess i could try to track those constants and put them in their own
>section or something, but is there a proper fix in the work by someone
>knowledgeable?

Probably not, I don't think this bug has been reported yet.  I modified
my copy of GCC to not put constants in .rdata, and put them in .text
like older versions of GCC used to do.  That's not a good fix though.
A better fix would be to modify binutils to so that .rdata has a hardcoded
16-byte input section alignment, just like .text and .data have currently.
The proper fix would be for binutils to actually support section alignment
in PE COFF object files.

						Ross Ridge

-- 
 l/  //	  Ross Ridge -- The Great HTMU
[oo][oo]  [email-masked]
-()-/()/  http://www.csclub.uwaterloo.ca/u/rridge/ 
 db  //	  

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/