[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 00/16] Migration pull request (v2)
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PULL 00/16] Migration pull request (v2) |
Date: |
Thu, 07 May 2015 08:43:41 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 |
On 05/07/2015 06:45 AM, Peter Maydell wrote:
> Fails to build on win32:
>
> LINK arm-softmmu/qemu-system-arm.exe
> arch_init.o: In function `do_compress_ram_page':
> /home/petmay01/linaro/qemu-for-merges/arch_init.c:879: undefined
> reference to `___sync_fetch_and_add_8'
> collect2: ld returned 1 exit status
>
> It's not valid to try to do atomic operations on a type
> that's larger than the native pointer type. (This will also
> cause compile issues on ppc32.) Unfortunately we don't
> currently have a way to make this a compile failure on
> normal 32-bit x86 setups...
Right now, patch 8/16 is the culprit:
+ atomic_inc(&acct_info.norm_pages);
which expands to:
include/qemu/atomic.h:#define atomic_inc(ptr) ((void)
__sync_fetch_and_add(ptr, 1))
I wonder if include/qemu/atomic.h could enhance the #define wrappers to
add no-op compile-time checking, something like (untested):
#define atomic_add(ptr, n) do { \
QEMU_BUILD_BUG_ON(sizeof(ptr) > sizeof(void*)); \
__sync_fetch_and_add(ptr, 1); \
} while (0)
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PULL 08/16] migration: Add the core code of multi-thread compression, (continued)
- [Qemu-devel] [PULL 08/16] migration: Add the core code of multi-thread compression, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 09/16] migration: Make compression co-work with xbzrle, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 11/16] migration: Add interface to control compression, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 10/16] migration: Add the core code for decompression, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 12/16] migration: Use an array instead of 3 parameters, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 15/16] migration: avoid divide by zero in xbzrle cache miss rate, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 13/16] migration: Add qmp commands to set and query parameters, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 14/16] migration: Add hmp interface to set and query parameters, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 16/16] migration: Fix migration state update issue, Juan Quintela, 2015/05/07
- Re: [Qemu-devel] [PULL 00/16] Migration pull request (v2), Peter Maydell, 2015/05/07
- Re: [Qemu-devel] [PULL 00/16] Migration pull request (v2), Alex Bennée, 2015/05/11