[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10)
From: |
Nikunj A Dadhania |
Subject: |
Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10) |
Date: |
Mon, 24 Apr 2017 16:49:50 +0530 |
User-agent: |
Notmuch/0.23.5 (https://notmuchmail.org) Emacs/25.1.1 (x86_64-redhat-linux-gnu) |
Nikunj A Dadhania <address@hidden> writes:
> Nikunj A Dadhania <address@hidden> writes:
>
>>>>
>>>>
>>>> ./configure --cc=clang --host-cc=clang --target-list=ppc64-softmmu
>>>
>>> Ah! This is good information to have. Let's see if one of the sanitizers
>>> or
>>> valgrind can spot the error or miscompilation...
>>
>> Some interesting code generated for stdcx.:
>>
>> 0x0000000030012624: stdcx. r0,0,r3
>>
>> With code compiled using GCC
>> ---- 0000000030012624
>> [...]
>> call raise_exception_err,$0x20,$0,env,tmp0,tmp1
>> set_label $L1
>> brcond_i64 loc4,reserve_addr,ne,$L2
>> movi_i32 tmp0,$0x7b7
>> call
>> atomic_cmpxchgq_be,$0x20,$1,tmp2,env,reserve_addr,reserve_val,r0,tmp0
>> setcond_i64 tmp2,tmp2,reserve_val,eq
>> [...]
>>
>> With code compiled using clang
>> ---- 0000000030012624
>> [...]
>> call raise_exception_err,$0x20,$0,env,tmp0,tmp1
>> set_label $L1
>> brcond_i64 loc4,reserve_addr,ne,$L2
>> call exit_atomic,$0x20,$0,env
>> setcond_i64 tmp2,tmp2,reserve_val,eq
>> [...]
>>
>> In case of clang, movi_i32 and atomic_cmpxchgq_be is missing, and I see
>> a call to exit_atomic.
>
> And that is because CONFIG_ATOMIC64 is not defined while using clang !
And if I force to define CONFIG_ATOMIC64:
diff --git a/configure b/configure
index d31a3e8..1cb9f82 100755
--- a/configure
+++ b/configure
@@ -4629,6 +4629,7 @@ EOF
if compile_prog "" "" ; then
atomic64=yes
fi
+atomic64=yes
########################################
# check if getauxval is available.
I boot fine without. Need to figure out why the code in configure isn't
working.
Regards
Nikunj
- [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10), David Gibson, 2017/04/18
- Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10), Cédric Le Goater, 2017/04/19
- Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10), Nikunj A Dadhania, 2017/04/19
- Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10), Nikunj A Dadhania, 2017/04/21
- Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10), Richard Henderson, 2017/04/21
- Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10), Nikunj A Dadhania, 2017/04/21
- Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10), Nikunj A Dadhania, 2017/04/21
- Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10), Richard Henderson, 2017/04/21
- Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10), Nikunj A Dadhania, 2017/04/24
- Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10), Nikunj A Dadhania, 2017/04/24
- Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10),
Nikunj A Dadhania <=
- Re: [Qemu-ppc] MTTCG for ppc64 (removed from ppc-for-2.10), Richard Henderson, 2017/04/25