Note that there are some explanatory texts on larger screens.

plurals
  1. POMinGW compiled programs crash on 64 bit Windows
    primarykey
    data
    text
    <p>I have 32bit MinGW and 64 bit Eclipse CDT installed on 64 bit Windows 7 with an Intel <code>Core i7-3612QM</code>. When I compile and run <code>hello world</code>, the string prints, but the program gets a <code>SIGILL</code> afterward.</p> <p>Source:</p> <pre><code>#include &lt;iostream&gt; using namespace std; int main() { cout &lt;&lt; "Hello World!" &lt;&lt; endl; return 0; } </code></pre> <p>Stacktrace:</p> <pre><code>hello.exe [C/C++ Application] hello.exe [5532] Thread [1] 0 (Suspended : Signal : SIGILL:Illegal instruction) libstdc++-6!_ZSt4cout() at 0x6fccc3c0 libstdc++-6!_ZNSolsEPFRSoS_E() at 0x6fc8908c _fu0___ZSt4cout() at hello.cpp:5 0x4013be gdb </code></pre> <p>Adding <code>cin</code> causes a segfault:</p> <p>Source:</p> <pre><code>#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { string name; cout &lt;&lt; "Please type your name: "; cin &gt;&gt; name; cout &lt;&lt; "Hello " &lt;&lt; name &lt;&lt; endl; return 0; } </code></pre> <p>Verbose compiler output:</p> <pre><code>C:\Users\Sean\temp&gt;g++ -v main.cpp Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.6.2/lto-wrapper.exe Target: mingw32 Configured with: ../gcc-4.6.2/configure --enable-languages=c,c++,ada,fortran,obj c,obj-c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --enable-libgo mp --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-r untime-libs --build=mingw32 --prefix=/mingw Thread model: win32 gcc version 4.6.2 (GCC) COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=i386' '-march=i386' c:/mingw/bin/../libexec/gcc/mingw32/4.6.2/cc1plus.exe -quiet -v -iprefix c:\min gw\bin\../lib/gcc/mingw32/4.6.2/ main.cpp -quiet -dumpbase main.cpp -mtune=i386 -march=i386 -auxbase main -version -o C:\Users\Sean\AppData\Local\Temp\ccSVBzeY. s GNU C++ (GCC) version 4.6.2 (mingw32) compiled by GNU C version 4.6.2, GMP version 5.0.1, MPFR version 2.4.1, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../. ./mingw32/include" ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.6.2/inclu de/c++" ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.6.2/inclu de/c++/mingw32" ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.6.2/inclu de/c++/backward" ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.6.2/inclu de" ignoring duplicate directory "/mingw/lib/gcc/mingw32/4.6.2/../../../../include" ignoring duplicate directory "c:/mingw/lib/gcc/../../include" ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.6.2/inclu de-fixed" ignoring nonexistent directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.6.2/../ ../../../mingw32/include" ignoring duplicate directory "/mingw/include" #include "..." search starts here: #include &lt;...&gt; search starts here: c:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++ c:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++/mingw32 c:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++/backward c:\mingw\bin\../lib/gcc/mingw32/4.6.2/include c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include c:\mingw\bin\../lib/gcc/mingw32/4.6.2/include-fixed End of search list. GNU C++ (GCC) version 4.6.2 (mingw32) compiled by GNU C version 4.6.2, GMP version 5.0.1, MPFR version 2.4.1, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: f7eb4168c2cf10318cc29da8d23b7f3c COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=i386' '-march=i386' c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/as.exe -o C:\User s\Sean\AppData\Local\Temp\ccb0vTGl.o C:\Users\Sean\AppData\Local\Temp\ccSVBzeY.s COMPILER_PATH=c:/mingw/bin/../libexec/gcc/mingw32/4.6.2/;c:/mingw/bin/../libexec /gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ LIBRARY_PATH=c:/mingw/bin/../lib/gcc/mingw32/4.6.2/;c:/mingw/bin/../lib/gcc/;c:/ mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/lib/;c:/mingw/bin/../lib/ gcc/mingw32/4.6.2/../../../;/mingw/lib/ COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=i386' '-march=i386' c:/mingw/bin/../libexec/gcc/mingw32/4.6.2/collect2.exe -Bdynamic -u ___register _frame_info -u ___deregister_frame_info c:/mingw/bin/../lib/gcc/mingw32/4.6.2/.. /../../crt2.o c:/mingw/bin/../lib/gcc/mingw32/4.6.2/crtbegin.o -Lc:/mingw/bin/.. /lib/gcc/mingw32/4.6.2 -Lc:/mingw/bin/../lib/gcc -Lc:/mingw/bin/../lib/gcc/mingw 32/4.6.2/../../../../mingw32/lib -Lc:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../. . -L/mingw/lib C:\Users\Sean\AppData\Local\Temp\ccb0vTGl.o -lstdc++ -lmingw32 -l gcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel 32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt c:/mingw/bin/../lib/gcc /mingw32/4.6.2/crtend.o </code></pre> <p>Stacktrace:</p> <pre><code>hello.exe [C/C++ Application] hello.exe [9092] Thread [1] 0 (Suspended : Signal : SIGSEGV:Segmentation fault) libstdc++-6!_ZNSs12_Alloc_hiderC1EPcRKSaIcE() at 0x6fc89542 libstdc++-6!_ZNSsC1Ev() at 0x6fc8c38b main() at hello.cpp:7 0x4013a7 gdb </code></pre> <p>The problems also occur using 32 bit <code>code::blocks</code> or when compiled manually from the command line. </p> <p>How can I fix this?</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload