2013/6/14 Dongsheng Song <[email protected]>
> When I build gcc 4.8 with mingw-w64 trunk:
>
> ${GCC_SRC_ROOT}/configure \
> --prefix=${SYS_ROOT} \
> --with-sysroot=${SYS_ROOT} \
> --build=${BUILD_TRIPLET} --host=${BUILD_TRIPLET}
> --target=${TARGET_TRIPLET} \
> --enable-targets=all --disable-nls \
> --enable-checking=release --enable-languages=c,c++,fortran
>
> If TARGET_TRIPLET is x86_64-w64-mingw32, the building works good.
>
> When TARGET_TRIPLET is i686-w64-mingw32, I got errors:
>
> /home/cauchy/obj/i686-w64-mingw32/gcc/./gcc/xgcc
> -B/home/cauchy/obj/i686-w64-mingw32/gcc/./gcc/
> -L/home/cauchy/cross/i686-windows/i686-w64-mingw32/lib
> -L/home/cauchy/cross/i686-windows/mingw/lib -isystem
> /home/cauchy/cross/i686-windows/i686-w64-mingw32/include -isystem
> /home/cauchy/cross/i686-windows/mingw/include
> -B/home/cauchy/cross/i686-windows/i686-w64-mingw32/bin/
> -B/home/cauchy/cross/i686-windows/i686-w64-mingw32/lib/ -isystem
> /home/cauchy/cross/i686-windows/i686-w64-mingw32/include -isystem
> /home/cauchy/cross/i686-windows/i686-w64-mingw32/sys-include -g -O2
> -m64 -O2
> -I/home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/../winsup/w32api/include
> -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing
> -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
> -Wold-style-definition -isystem ./include -g -DIN_LIBGCC2
> -fbuilding-libgcc -fno-stack-protector -I. -I. -I../../.././gcc
> -I/home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc
> -I/home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/.
> -I/home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/../gcc
> -I/home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/../include
> -I/home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/config/libbid
> -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_EMUTLS -o unwind-dw2.o
> -MT unwind-dw2.o -MD -MP -MF unwind-dw2.dep -fexceptions -c
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind-dw2.c
> In file included from
>
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind-dw2.c:1698:0:
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc: In
> function '_Unwind_RaiseException_Phase2':
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc:51:60:
> error: 'struct _Unwind_Exception' has no member named 'private_2'
> match_handler = (uw_identify_context (context) == exc->private_2
> ^
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc: In
> function '_Unwind_RaiseException':
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc:127:6:
> error: 'struct _Unwind_Exception' has no member named 'private_1'
> exc->private_1 = 0;
> ^
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc:128:6:
> error: 'struct _Unwind_Exception' has no member named 'private_2'
> exc->private_2 = uw_identify_context (&cur_context);
> ^
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc: In
> function '_Unwind_ForcedUnwind_Phase2':
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc:145:61:
> error: 'struct _Unwind_Exception' has no member named 'private_1'
> _Unwind_Stop_Fn stop = (_Unwind_Stop_Fn) (_Unwind_Ptr) exc->private_1;
> ^
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc:146:51:
> error: 'struct _Unwind_Exception' has no member named 'private_2'
> void *stop_argument = (void *) (_Unwind_Ptr) exc->private_2;
> ^
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc: In
> function '_Unwind_ForcedUnwind':
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc:204:6:
> error: 'struct _Unwind_Exception' has no member named 'private_1'
> exc->private_1 = (_Unwind_Ptr) stop;
> ^
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc:205:6:
> error: 'struct _Unwind_Exception' has no member named 'private_2'
> exc->private_2 = (_Unwind_Ptr) stop_argument;
> ^
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc: In
> function '_Unwind_Resume':
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc:229:10:
> error: 'struct _Unwind_Exception' has no member named 'private_1'
> if (exc->private_1 == 0)
> ^
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc: In
> function '_Unwind_Resume_or_Rethrow':
> /home/cauchy/vcs/svn/gcc/branches/gcc-4_8-branch/libgcc/unwind.inc:251:10:
> error: 'struct _Unwind_Exception' has no member named 'private_1'
> if (exc->private_1 == 0)
> ^
> make[4]: *** [unwind-dw2.o] Error 1
> make[4]: Leaving directory
> `/home/cauchy/obj/i686-w64-mingw32/gcc/i686-w64-mingw32/64/libgcc'
> make[3]: *** [multi-do] Error 1
> make[3]: Leaving directory
> `/home/cauchy/obj/i686-w64-mingw32/gcc/i686-w64-mingw32/libgcc'
> make[2]: *** [all-multi] Error 2
> make[2]: Leaving directory
> `/home/cauchy/obj/i686-w64-mingw32/gcc/i686-w64-mingw32/libgcc'
> make[1]: *** [all-target-libgcc] Error 2
> make[1]: Leaving directory `/home/cauchy/obj/i686-w64-mingw32/gcc'
> make: *** [all] Error 2
>
> When I add '--enable-sjlj-exceptions', the building works good. But
> 64bit use sjlj not seh. Can I let 32bit use sjlj and 64 bit use seh
> when default target is 32bit ?
>
I seem to remember Jon_Y testing exactly this, and he reported it working.
He might have just tested the cross-compiler though. In any case, He'll
know what to do :)
Ruben
> Regards,
> Dongsheng
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
>
> Build for Windows Store.
>
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> Mingw-w64-public mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public