On Sun, Apr 15, 2012 at 17:09, Stefan Weil <s...@weilnetz.de> wrote: > Am 15.04.2012 19:02, schrieb Blue Swirl: > >> On Sun, Apr 15, 2012 at 14:13, Stefan Weil <s...@weilnetz.de> wrote: >>> >>> The default definition of setjmp which is implemented in MinGW-w64 >>> cannot be used with programs like QEMU which call longjmp from >>> code without structured exception handling (SEH). >> >> >> We're currently compiling QEMU with -no-seh, is that correct for Mingw64? > > > > Yes, that's correct. This code in configure is used for w32 and for w64: > > # Use ASLR, no-SEH and DEP if available > if test "$mingw32" = "yes" ; then > for flag in --dynamicbase --no-seh --nxcompat; do > if $ld --help 2>/dev/null | grep ".$flag" >/dev/null 2>/dev/null ; > then > LDFLAGS="-Wl,$flag $LDFLAGS" > fi > done > fi > > See resulting file: > > bin/debug/w64/config-host.mak:LDFLAGS=-Wl,--nxcompat -Wl,--no-seh > -Wl,--dynamicbase -Wl,--warn-common -m64 -g
Yes, but I meant that since Mingw64 uses SEH, does -Wl,--no-seh conflict with Mingw64 SEH usage somehow? If yes, should we disable no-seh for Mingw64 and could we also use plain setjmp() then? > > Regards, > Stefan W. >