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]

exception error using SSE extensions with gcc3.1/cygwin



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).

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)


Any help much appreciated!

Regards

---------------------------------
Q-Games, Dylan Cuthbert.
http://www.q-games.com



$ gcc -dumpspecs
*asm:
--traditional-format

*asm_debug:
%{g*:--gstabs}

*asm_final:


*asm_options:
%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}

*invoke_as:
%{!S:-o %{|!pipe:%g.s} |
 as %(asm_options) %{!pipe:%g.s} %A }

*cpp:
%(cpp_cpu)
posix:-D_POSIX_SOURCE}   -D__stdcall=__attribute__((__stdcall__))   -D__cdec
l=__attribute__((__cdecl__))
%{!ansi:-D_stdcall=__attribute__((__stdcall__))     -D_cdecl=__attribute__((
__cdecl__))}   -D__declspec(x)=__attribute__((x))   -D__i386__ -D__i386
%{mno-win32:%{mno-cygwin: %emno-cygwin and mno-win32 are not compatible}}
%{mno-cygwin:-D__MSVCRT__ -D__MINGW32__ %{mthreads:-D_MT}
%{!nostdinc:-isystem /usr/include/mingw/g++-3 -isystem
/usr/include/mingw/g++ -isystem /usr/local/include/mingw -idirafter
/usr/local/i686-pc-cygwin/include/mingw -idirafter /usr/include/mingw}}
%{!mno-cygwin:-D__CYGWIN32__ -D__CYGWIN__
%{!ansi:-Dunix} -D__unix__ -D__unix %{!nostdinc:-isystem
/usr/local/include -idirafter /usr/local/i686-pc-cygwin/include -idirafter
/usr/include}}  %{mwin32|mno-cygwin:-DWIN32 -D_WIN32 -D__WIN32 -D__WIN32__
%{!ansi:-DWINNT}}  %{!mno-win32:%{!nostdinc:-idirafter
/usr/local/i686-pc-cygwin/include/w32api -idirafter /usr/include/w32api}}

*cpp_options:
%(cpp_unique_options) %{std*} %{d*} %{W*} %{w} %{pedantic*} %{fshow-column}
%{fno-show-column} %{fsigned-char&funsigned-char} %{fleading-underscore}
%{fno-leading-underscore} %{fno-operator-names} %{ftabstop=*}

*cpp_unique_options:
%{C:%{!E:%eGNU C does not support -C without using -E}} %{nostdinc*} %{C}
%{v} %{I*} %{P} %{$} %I %{MD:-MD %W{!o: %b.d}%W{o*:%.d%*}} %{MMD:-MMD %W{!o:
%b.d}%W{o*:%.d%*}} %{M} %{MM} %W{MF*} %{MG} %{MP} %{MQ*} %{MT*}
%{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}}
%{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3}
%{!undef:%{!ansi:%{!std=*:%p}%{std=gnu*:%p}} %P} %{trigraphs}
%{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}
%{fno-inline|O0|!O*:-D__NO_INLINE__} %{ffast-math:-D__FAST_MATH__}
%{fshort-wchar:-U__WCHAR_TYPE__ -D__WCHAR_TYPE__=short\ unsigned\ int}
%{ffreestanding:-D__STDC_HOSTED__=0} %{fno-hosted:-D__STDC_HOSTED__=0}
%{!ffreestanding:%{!fno-hosted:-D__STDC_HOSTED__=1}} %{remap} %{g3:-dD} %{H}
%C %{D*&U*&A*} %{i*} %Z %i %{E|M|MM:%W{o*}}

*trad_capable_cpp:
%{traditional|ftraditional|traditional-cpp:trad}cpp0

*cc1:
%(cc1_cpu)

*cc1_options:
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}
%1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*} %{g*} %{O*} %{W*} %{w}
%{pedantic*} %{std*} %{ansi} %{traditional} %{v:-version} %{pg:-p} %{p}
%{f*} %{Qn:-fno-ident} %{--help:--help} %{--target-help:--target-help}
%{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}} %{fsyntax-only:-o %j} %{-param*}

*cc1plus:


*endfile:


*link:
-L/usr/local/i686-pc-cygwin/lib/w32api/ -L/usr/lib/w32api/
%{mwindows:--subsystem windows}   %{mconsole:--subsystem console}
%{shared: %{mdll: %eshared and mdll are not compatible}}
  %{shared: --shared} %{mdll:--dll}   %{static:-Bstatic}
%{!static:-Bdynamic}   %{shared|mdll: -e
%{mno-cygwin:_DllMainCRTStartup@12}
%{!mno-cygwin:__cygwin_dll_entry@12}}  --dll-search-prefix=cyg

*lib:
  %{pg:-lgmon}   %{!mno-cygwin:-lcygwin}
%{mno-cygwin:%{mthreads:-lmingwthrd} -lmingw32}   %{mwindows:-lgdi32 -lcomdl
g32}   -luser32 -lkernel32 -ladvapi32 -lshell32

*libgcc:
%{mno-cygwin: %{mthreads:-lmingwthrd} -lmingw32} -lgcc
%{mno-cygwin:-lmoldname -lmsvcrt}

*startfile:
  %{shared|mdll: %{mno-cygwin:-L/usr/local/lib/mingw -L/usr/lib/mingw
dllcrt2%O%s}}  %{!shared: %{!mdll: %{!mno-cygwin:crt0%O%s}
%{mno-cygwin:-L/usr/local/lib/mingw -L/usr/lib/mingw crt2%O%s}
%{pg:gcrt0%O%s}}}

*switches_need_spaces:


*predefines:
-D_X86_=1 -Asystem=winnt

*cross_compile:
0

*version:
3.1

*multilib:
. ;

*multilib_defaults:


*multilib_extra:


*multilib_matches:


*multilib_exclusions:


*linker:
collect2

*link_libgcc:
%D

*md_exec_prefix:


*md_startfile_prefix:
/usr/lib/

*md_startfile_prefix_1:


*cpp_cpu_default:
-D__tune_i686__ -D__tune_pentiumpro__

*cpp_cpu:
%(cpp_cpu32) %(cpp_cpucommon)

*cpp_cpu32:
-Acpu=i386 -Amachine=i386
%{!ansi:%{!std=c*:%{!std=i*:-Di386}}} -D__i386 -D__i386__ %(cpp_cpu32sizet)

*cpp_cpu64:
-Acpu=x86_64 -Amachine=x86_64 -D__x86_64 -D__x86_64__ %(cpp_cpu64sizet)

*cpp_cpu32sizet:


*cpp_cpu64sizet:


*cpp_cpucommon:
%{march=i386:%{!mcpu*:-D__tune_i386__ }}%{march=i486:-D__i486 -D__i486__
%{!mcpu*:-D__tune_i486__ }}%{march=pentium|march=i586:-D__i586 -D__i586__ -D
__pentium -D__pentium__


%{!mcpu*:-D__tune_i586__ -D__tune_pentium__ }}%{march=pentium-mmx:-D__i586 -
D__i586__ -D__pentium -D__pentium__   -D__pentium__mmx__
%{!mcpu*:-D__tune_i586__ -D__tune_pentium__ -D__tune_pentium_mmx__}}%{march=
pentiumpro|march=i686:-D__i686 -D__i686__   -D__pentiumpro -D__pentiumpro__
%{!mcpu*:-D__tune_i686__ -D__tune_pentiumpro__ }}%{march=k6:-D__k6 -D__k6__
%{!mcpu*:-D__tune_k6__ }}%{march=k6-2:-D__k6 -D__k6__ -D__k6_2__
%{!mcpu*:-D__tune_k6__ -D__tune_k6_2__ }}%{march=k6-3:-D__k6 -D__k6__ -D__k6
_3__


%{!mcpu*:-D__tune_k6__ -D__tune_k6_3__ }}%{march=athlon|march=athlon-tbird:-
D__athlon -D__athlon__


%{!mcpu*:-D__tune_athlon__ }}%{march=athlon-4|march=athlon-xp|march=athlon-m
p:-D__athlon -D__athlon__   -D__athlon_sse__


%{!mcpu*:-D__tune_athlon__ -D__tune_athlon_sse__ }}%{march=pentium4:-D__pent
ium4 -D__pentium4__
%{!mcpu*:-D__tune_pentium4__ }}%{m386|mcpu=i386:-D__tune_i386__ }%{m486|mcpu
=i486:-D__tune_i486__ }%{mpentium|mcpu=pentium|mcpu=i586|mcpu=pentium-mmx:-D
__tune_i586__ -D__tune_pentium__ }%{mpentiumpro|mcpu=pentiumpro|mcpu=i686|cp
u=pentium2|cpu=pentium3:-D__tune_i686__ -D__tune_pentiumpro__ }%{mcpu=k6|mcp
u=k6-2|mcpu=k6-3:-D__tune_k6__ }%{mcpu=athlon|mcpu=athlon-tbird|mcpu=athlon-
4|mcpu=athlon-xp|mcpu=athlon-mp:-D__tune_athlon__ }%{mcpu=athlon-4|mcpu=athl
on-xp|mcpu=athlon-mp:-D__tune_athlon_sse__ }%{mcpu=pentium4:-D__tune_pentium
4__ }%{march=athlon-tbird|march=athlon-xp|march=athlon-mp|march=pentium3|mar
ch=pentium4:-D__SSE__ }%{march=pentium-mmx|march=k6|march=k6-2|march=k6-3|ma
rch=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp|march=athlon-mp
|march=pentium2|march=pentium3|march=pentium4: -D__MMX__ }%{march=k6-2|march
=k6-3|march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp|march=a
thlon-mp: -D__3dNOW__ }%{march=athlon|march=athlon-tbird|march=athlon-4|marc
h=athlon-xp|march=athlon-mp: -D__3dNOW_A__ }%{march=pentium4: -D__SSE2__ }%{
!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}}}

*cc1_cpu:
%{!mcpu*: %{m386:-mcpu=i386 %n`-m386' is deprecated. Use `-march=i386' or
`-mcpu=i386' instead.
} %{m486:-mcpu=i486 %n`-m486' is deprecated. Use `-march=i486' or
`-mcpu=i486' instead.
} %{mpentium:-mcpu=pentium %n`-mpentium' is deprecated. Use `-march=pentium'
or `-mcpu=pentium' instead.
} %{mpentiumpro:-mcpu=pentiumpro %n`-mpentiumpro' is deprecated. Use
`-march=pentiumpro' or `-mcpu=pentiumpro' instead.
}} %{mintel-syntax:-masm=intel %n`-mintel-syntax' is deprecated. Use
`-masm=intel' instead.
} %{mno-intel-syntax:-masm=att %n`-mno-intel-syntax' is deprecated. Use
`-masm=att' instead.
}

*mingw_include_path:
i686-pc-cygwin

*link_command:
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:    %(linker) %l %X %{o*} %{A}
%{d} %{e*} %{m} %{N} %{n} %{r} %{s} %{t}    %{u*} %{x} %{z} %{Z}
%{!A:%{!nostdlib:%{!nostartfiles:%S}}}    %{static:} %{L*} %(link_libgcc) %o
%{!nostdlib:%{!nodefaultlibs:%G %L %G}}
%{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}

Attachment: math.cpp
Description: Binary data


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