qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

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