qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] w32: Fix build with older gcc (unresolved symbo


From: Stefan Weil
Subject: Re: [Qemu-devel] [PATCH] w32: Fix build with older gcc (unresolved symbol)
Date: Sat, 11 May 2013 21:51:51 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130329 Thunderbird/17.0.5

Am 11.05.2013 11:01, schrieb Igor Mitsyanko:
> 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.
>>>>
>>>> Stefan
>>>>
>>> mingw 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

Hi,

I can reproduce that problem with a native MinGW.
http://patchwork.ozlabs.org/patch/243150/ should fix it.

Thank you for your report.

Regards,
Stefan Weil




reply via email to

[Prev in Thread] Current Thread [Next in Thread]