http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47308
--- Comment #5 from Pawel Sikora <pluto at agmk dot net> 2011-01-21 12:23:04 UTC --- (In reply to comment #4) > Hmm, can't reproduce issue with current 4.6.0 gcc. Could you please retest > with > current version. It seems issue was already solved. i'm still see the problem. probably it's some configuration detail to expose it. my gcc mingw64 crosscompiler runs on linux. $ /local/devel/toolchain46/x86_64-pc-mingw32/bin/x86_64-pc-mingw32-g++ -v Using built-in specs. COLLECT_GCC=/local/devel/toolchain46/x86_64-pc-mingw32/bin/x86_64-pc-mingw32-g++ COLLECT_LTO_WRAPPER=/local/devel/toolchain46/x86_64-pc-mingw32.host64/lib/gcc/x86_64-pc-mingw32/4.6.0/lto-wrapper Target: x86_64-pc-mingw32 Configured with: ../configure --target=x86_64-pc-mingw32 --with-arch=core2 --prefix=/local/devel/toolchain46/x86_64-pc-mingw32.host64 --with-sysroot=/local/devel/toolchain46/x86_64-pc-mingw32.host64 --libdir=/local/devel/toolchain46/x86_64-pc-mingw32.host64/lib --libexecdir=/local/devel/toolchain46/x86_64-pc-mingw32.host64/lib --with-slibdir=/local/devel/toolchain46/x86_64-pc-mingw32.host64/lib --with-gmp-include=/home/users/pluto/alatek/toolchain/trunk/gcc-math-runtime/include --with-gmp-lib=/home/users/pluto/alatek/toolchain/trunk/gcc-math-runtime/lib --with-mpfr-include=/home/users/pluto/alatek/toolchain/trunk/gcc-math-runtime/include --with-mpfr-lib=/home/users/pluto/alatek/toolchain/trunk/gcc-math-runtime/lib --with-mpc-include=/home/users/pluto/alatek/toolchain/trunk/gcc-math-runtime/include --with-mpc-lib=/home/users/pluto/alatek/toolchain/trunk/gcc-math-runtime/lib --disable-multilib --disable-nls --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --enable-tls --enable-libstdcxx-allocator=mt --enable-cxx-flags='-O2 -mcld -gdwarf-4 -g2' --disable-libstdcxx-pch --disable-lto --disable-plugin --enable-c99 --enable-long-long --disable-win32-registry --enable-threads=win32 --enable-sjlj-exceptions --enable-shared --enable-fully-dynamic-string --enable-__cxa_atexit --enable-languages=c,c++ --enable-checking=yes,df,rtl,tree --disable-symvers --with-long-double-128 --disable-cld --disable-bootstrap Thread model: win32 gcc version 4.6.0 20110121 (experimental) (GCC) $ /local/devel/toolchain46/x86_64-pc-mingw32/bin/x86_64-pc-mingw32-as --version GNU assembler (Linux/GNU Binutils) 2.21.51.0.6.20110118 interesting 'bad register' info in .debug_frame section: $ /local/devel/toolchain46/x86_64-pc-mingw32/bin/x86_64-pc-mingw32-objdump --dwarf=frames main.o main.o: file format pe-x86-64 Contents of the .debug_frame section: 00000000 00000014 ffffffff CIE Version: 1 Augmentation: "" Code alignment factor: 1 Data alignment factor: -8 Return address column: 16 DW_CFA_def_cfa: r7 (rsp) ofs 8 DW_CFA_offset: r16 (rip) at cfa-8 DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop 00000018 00000024 00000000 FDE cie=00000000 pc=00000000..0000002e DW_CFA_advance_loc: 1 to 00000001 DW_CFA_def_cfa_offset: 16 DW_CFA_offset: r6 (rbp) at cfa-16 DW_CFA_advance_loc: 3 to 00000004 DW_CFA_def_cfa_register: r6 (rbp) DW_CFA_advance_loc: 41 to 0000002d DW_CFA_def_cfa: r7 (rsp) ofs 8 DW_CFA_restore: r6 (rbp) DW_CFA_nop DW_CFA_nop DW_CFA_nop 00000040 00000024 00000000 FDE cie=00000000 pc=0000002e..0000005c DW_CFA_advance_loc: 1 to 0000002f DW_CFA_def_cfa_offset: 16 DW_CFA_offset: r6 (rbp) at cfa-16 DW_CFA_advance_loc: 3 to 00000032 DW_CFA_def_cfa_register: r6 (rbp) DW_CFA_advance_loc: 41 to 0000005b DW_CFA_def_cfa: r7 (rsp) ofs 8 DW_CFA_restore: r6 (rbp) DW_CFA_nop DW_CFA_nop DW_CFA_nop 00000068 0000007c 00000000 FDE cie=00000000 pc=0000005c..00000270 DW_CFA_advance_loc: 1 to 0000005d DW_CFA_def_cfa_offset: 16 DW_CFA_offset: r6 (rbp) at cfa-16 DW_CFA_advance_loc: 2 to 0000005f DW_CFA_def_cfa_offset: 24 DW_CFA_offset: r15 (r15) at cfa-24 DW_CFA_advance_loc: 2 to 00000061 DW_CFA_def_cfa_offset: 32 DW_CFA_offset: r14 (r14) at cfa-32 DW_CFA_advance_loc: 2 to 00000063 DW_CFA_def_cfa_offset: 40 DW_CFA_offset: r13 (r13) at cfa-40 DW_CFA_advance_loc: 2 to 00000065 DW_CFA_def_cfa_offset: 48 DW_CFA_offset: r12 (r12) at cfa-48 DW_CFA_advance_loc: 1 to 00000066 DW_CFA_def_cfa_offset: 56 DW_CFA_offset: r5 (rdi) at cfa-56 DW_CFA_advance_loc: 1 to 00000067 DW_CFA_def_cfa_offset: 64 DW_CFA_offset: r4 (rsi) at cfa-64 DW_CFA_advance_loc: 1 to 00000068 DW_CFA_def_cfa_offset: 72 DW_CFA_offset: r3 (rbx) at cfa-72 DW_CFA_advance_loc: 7 to 0000006f DW_CFA_def_cfa_offset: 416 DW_CFA_advance_loc: 8 to 00000077 DW_CFA_def_cfa: r6 (rbp) ofs 288 DW_CFA_advance_loc1: 118 to 000000ed DW_CFA_offset: r32 (xmm15) at cfa-96 DW_CFA_offset: r31 (xmm14) at cfa-112 DW_CFA_offset: r30 (xmm13) at cfa-128 DW_CFA_offset: r29 (xmm12) at cfa-144 DW_CFA_offset: r28 (xmm11) at cfa-160 DW_CFA_offset: r27 (xmm10) at cfa-176 DW_CFA_offset: r26 (xmm9) at cfa-192 DW_CFA_offset: r25 (xmm8) at cfa-208 DW_CFA_offset: r24 (xmm7) at cfa-224 DW_CFA_offset: r23 (xmm6) at cfa-240 DW_CFA_advance_loc2: 374 to 00000263 DW_CFA_restore: bad register: r32 (xmm15) <==== bad register ??? DW_CFA_restore: bad register: r31 (xmm14) DW_CFA_restore: bad register: r30 (xmm13) DW_CFA_restore: bad register: r29 (xmm12) DW_CFA_restore: bad register: r28 (xmm11) DW_CFA_restore: bad register: r27 (xmm10) DW_CFA_restore: bad register: r26 (xmm9) DW_CFA_restore: bad register: r25 (xmm8) DW_CFA_restore: bad register: r24 (xmm7) DW_CFA_restore: bad register: r23 (xmm6) DW_CFA_advance_loc: 1 to 00000264 DW_CFA_restore: r3 (rbx) DW_CFA_advance_loc: 1 to 00000265 DW_CFA_restore: r4 (rsi) DW_CFA_advance_loc: 1 to 00000266 DW_CFA_restore: r5 (rdi) DW_CFA_advance_loc: 2 to 00000268 DW_CFA_restore: r12 (r12) DW_CFA_advance_loc: 2 to 0000026a DW_CFA_restore: r13 (r13) DW_CFA_advance_loc: 2 to 0000026c DW_CFA_restore: r14 (r14) DW_CFA_advance_loc: 2 to 0000026e DW_CFA_restore: r15 (r15) DW_CFA_advance_loc: 1 to 0000026f DW_CFA_def_cfa_sf: r7 (rsp) ofs -280 DW_CFA_restore: r6 (rbp) DW_CFA_nop