This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
gcc/g++ 3.4.0 cygwin, binutils, SSE & alignment
- From: tbp <gcc at ompf dot org>
- To: gcc at gcc dot gnu dot org
- Date: Sat, 01 May 2004 10:29:24 +0200
- Subject: gcc/g++ 3.4.0 cygwin, binutils, SSE & alignment
- Reply-to: gcc at ompf dot org
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