[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 00/35] cmpxchg atomic operations
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PULL 00/35] cmpxchg atomic operations |
Date: |
Mon, 24 Oct 2016 14:37:48 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 |
On 24/10/2016 12:51, Peter Maydell wrote:
> On 22 October 2016 at 22:04, Richard Henderson <address@hidden> wrote:
>> This is v7, with the additional fix for gcc 4.2, as on Centos 6.
>>
>>
>> r~
>>
>>
>> The following changes since commit da158a86c407fa7b9da848b571356a26809d8df9:
>>
>> Merge remote-tracking branch
>> 'remotes/berrange/tags/pull-qcrypto-2016-10-20-1' into staging (2016-10-20
>> 14:46:19 +0100)
>>
>> are available in the git repository at:
>>
>> git://github.com/rth7680/qemu.git tags/pull-atomic-20161022
>>
>> for you to fetch changes up to 278c5beb29ef8b6747a7c9bde403e9fe90cdad9c:
>>
>> target-alpha: Emulate LL/SC using cmpxchg helpers (2016-10-20 11:00:46
>> -0700)
>>
>> ----------------------------------------------------------------
>> cmpxchg atomic operations
>>
>> ----------------------------------------------------------------
>
> This fails to build with clang (OSX and linux):
>
> /Users/pm215/src/qemu-for-merges/target-arm/translate.c:1019:1: error:
> unused function 'gen_aa32_ld16ua
> ' [-Werror,-Wunused-function]
> DO_GEN_LD(16ua, MO_UW | MO_ALIGN)
> ^
> /Users/pm215/src/qemu-for-merges/target-arm/translate.c:954:20: note:
> expanded from macro 'DO_GEN_LD'
> static inline void gen_aa32_ld##SUFF(DisasContext *s, TCGv_i32 val, \
> ^
> <scratch space>:130:1: note: expanded from here
> gen_aa32_ld16ua
> ^
> /Users/pm215/src/qemu-for-merges/target-arm/translate.c:1020:1: error:
> unused function 'gen_aa32_ld32ua
> ' [-Werror,-Wunused-function]
> DO_GEN_LD(32ua, MO_UL | MO_ALIGN)
> ^
> /Users/pm215/src/qemu-for-merges/target-arm/translate.c:954:20: note:
> expanded from macro 'DO_GEN_LD'
> static inline void gen_aa32_ld##SUFF(DisasContext *s, TCGv_i32 val, \
> ^
> <scratch space>:131:1: note: expanded from here
> gen_aa32_ld32ua
> ^
>
> The other builds passed OK.
LLVM bug https://llvm.org/bugs/show_bug.cgi?id=22712:
we should probably consider the functions to not be in the main
source file if they were expanded from a macro that was defined
outside that file. That perhaps doesn't go far enough (consider a
macro defined in the main source file, that produces several
functions, where after each macro invocation only a subset of the
functions is used)
Paolo
- [Qemu-devel] [PULL 13/35] tcg: Add atomic helpers, (continued)
- [Qemu-devel] [PULL 13/35] tcg: Add atomic helpers, Richard Henderson, 2016/10/22
- [Qemu-devel] [PULL 25/35] target-i386: remove helper_lock(), Richard Henderson, 2016/10/22
- [Qemu-devel] [PULL 32/35] linux-user: remove handling of aarch64's EXCP_STREX, Richard Henderson, 2016/10/22
- [Qemu-devel] [PULL 30/35] target-arm: emulate aarch64's LL/SC using cmpxchg helpers, Richard Henderson, 2016/10/22
- [Qemu-devel] [PULL 33/35] target-arm: remove EXCP_STREX + cpu_exclusive_{test, info}, Richard Henderson, 2016/10/22
- [Qemu-devel] [PULL 34/35] target-alpha: Introduce MMU_PHYS_IDX, Richard Henderson, 2016/10/22
- [Qemu-devel] [PULL 27/35] target-arm: Rearrange aa32 load and store functions, Richard Henderson, 2016/10/22
- [Qemu-devel] [PULL 31/35] linux-user: remove handling of ARM's EXCP_STREX, Richard Henderson, 2016/10/22
- [Qemu-devel] [PULL 35/35] target-alpha: Emulate LL/SC using cmpxchg helpers, Richard Henderson, 2016/10/22
- Re: [Qemu-devel] [PULL 00/35] cmpxchg atomic operations, Peter Maydell, 2016/10/24