|
From: | Igor Mitsyanko |
Subject: | Re: [Qemu-devel] [PATCH] w32: Fix build with older gcc (unresolved symbol) |
Date: | Sat, 11 May 2013 13:01:10 +0400 |
User-agent: | Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3 |
On 11.05.2013 10:41, Stefan Weil wrote:
Am 10.05.2013 22:14, schrieb Igor Mitsyanko:On 29.03.2013 21:20, Stefan Weil wrote:The cross i586-mingw32msvc-gcc 4.4.4 from Debian Squeeze does not support __sync_val_compare_and_swap by default. Using -march=i686 fixes that and should also result in better code. Signed-off-by: Stefan Weil <address@hidden> --- Maybe this modification is also needed for native gcc-4.4 and older on Linux i386. If yes, we can move the new script code out of the MinGW conditional code. Newer versions of gcc obviously use -march=i686 by default and don't need the patch, but it also won't do any harm for those versions. Stefanmingw is built with --build=mingw32 and looks like it defaults to -march=i386 (I have gcc version 4.7.2). Default build on windows is broken without this patch, it should be applied to 1.5 probably. Tested-by: Igor Mitsyanko <address@hidden>With latest QEMU, -march=i486 is used and there should be no problem. If there still is a problem, we have to look for the reason. Could you please post the output from configure? Regards, Stefan
Right, looks like my configuration has __sync_fetch_and_and but doesn't have __sync_val_compare_and_swap. That's why configure check passes but build fails:
LINK arm-softmmu/qemu-system-armw.exe ../migration.o: In function `migrate_finish_set_state':g:\qemu_develop_ws\qemu_upstream/migration.c:293: undefined reference to `__sync_val_compare_and_swap_4' g:\qemu_develop_ws\qemu_upstream/migration.c:293: undefined reference to `__sync_val_compare_and_swap_4' g:\qemu_develop_ws\qemu_upstream/migration.c:293: undefined reference to `__sync_val_compare_and_swap_4'
collect2.exe: error: ld returned 1 exit status make[1]: *** [qemu-system-armw.exe] Error 1 make: *** [subdir-arm-softmmu] Error 2
configure.txt
Description: Text document
[Prev in Thread] | Current Thread | [Next in Thread] |