This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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]

gcc/g++ 3.4.0 cygwin, binutils, SSE & alignment


To make a long story short, a multithreaded application of mine that was
doing fine with g++ 3.3.x was core dumping with 3.4.0 due to SSE
alignment issues (with pretty default flags like -O3 -march=k8):
a) unlike gcc 3.3.x, gcc 3.4.0 emits *ps instructions referencing frame
local or not memory locations
b) only the main thread stack was 16 byte aligned in cygwin (fixed in cvs)
c) now that stacks are ok i'm left with stuff that lands in the .rdata
section with alignment not being honoured (4 bytes vs 16)

As binutils proved to be way over my head the only sensible thing to do
was to revert that patch:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/cygming.h.diff?cvsroot=gcc&r1=1.7&r2=1.8

I understand it's not a gcc issue per se, but i'd like to see it
resolved & i dunno where to forward it to... Any clue apreciated.

Regards,
	tbp.

PS: cygwin thread reference,
http://cygwin.com/ml/cygwin/2004-04/threads.html#01103



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