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

tbp gcc@ompf.org
Sat May 1 08:30:00 GMT 2004


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




More information about the Gcc mailing list