This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: exception error using SSE extensions with gcc3.1/cygwin
- From: Andreas Jaeger <aj at suse dot de>
- To: "Dylan Cuthbert" <dylan at q-games dot com>
- Cc: "Jan Hubicka" <jh at suse dot cz>, <gcc at gcc dot gnu dot org>
- Date: Sun, 31 Mar 2002 11:06:27 +0200
- Subject: Re: exception error using SSE extensions with gcc3.1/cygwin
- References: <00bd01c1d580$5e7942e0$2801a8c0@dcuthbert2k><20020327134948.GC3576@atrey.karlin.mff.cuni.cz><00da01c1d713$7d9a01c0$2801a8c0@dcuthbert2k><20020329161322.GE2886@atrey.karlin.mff.cuni.cz><000f01c1d87c$b756fc00$2801a8c0@dcuthbert2k>
"Dylan Cuthbert" <dylan@q-games.com> writes:
> Hi there,
>
> I've attached some very simplified (and *very* crap) source code that causes
> an exception error using gcc 3.1 (March 25th snapshot), specs are at bottom
> of mail.
>
> I'm at a loss at how to debug this - as the version of gdb I've got (5.1)
> doesn't like the SSE instructions, (or maybe gcc 3.1's object file format,
> I'm not sure which but it seems pretty flakey).
GCC 3.1 produces dwarf2 by default, this might be one problem.
> compile with the following:
>
> $ g++ -L /usr/local/lib -msse math.cpp -o math.exe
>
> $ ./math.exe
> Start test
> set mUnitMatrix
> set_x
> set_y
> set_z
> set_w
> set_x
> set_y
> set_z
> set_w
> set_x
> set_y
> set_z
> set_w
> set_x
> set_y
> set_z
> set_w
> Illegal instruction (core dumped)
Which instruction is this?
What CPU do you have?
On my PentiumIII I get:
Program received signal SIGSEGV, Segmentation fault.
0x08048847 in Test() () at math.cpp:232
232 );
(gdb) x /i $pc
0x8048847 <_Z4Testv+267>: movaps %xmm0,0x4(%esp,1)
(gdb) p $esp
$1 = (void *) 0xbffff360
(gdb) p $xmm0
$2 = {f = {1, 0, 0, 0}}
Not sure what goes wrong here,
Andreas
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj