|
From: Wuweijia <wuw...@hu...> - 2017-09-12 04:41:40
|
发件人: Wuweijia
发送时间: 2017年9月12日 12:34
收件人: 'val...@li...' <val...@li...>
抄送: Fanbohao <fan...@hu...>
主题: [HELP] Is there any bug with the program built by the clang4.0 with thumbv7--linux-android command para.
Hello:
First, I build the program with clang 4.0 with 32 bit command param, but it run failed because there is unknown instruction;
Second , I build the program with clang 4.0 with 64 bit command param, and it run success.
Third, I build the same program with clang 3.8 with 32 bit command param, and I run success, there is no unknown instructions.
There is the error log:
disInstr(thumb): unhandled instruction: 0x450B 0xD104
==24328== valgrind: Unrecognised instruction at address 0x1089c5.
==24328== at 0x1089C4: compare_exchange_strong (atomic:943)
==24328== by 0x1089C4: atomic_compare_exchange_strong_explicit<unsigned int> (atomic:1376)
==24328== by 0x1089C4: main (testClang.cpp:22)
There is some point :
1: I build the arm application which is 32 bit , but it ran in the aarch64 server which is 64 bit;
The rar pack contain:
1: the compile command with clang 4.0:
2: the error log
3: the function main instruction (that compile with clang3.8 and clang4.0)
I had search the code. In the implementation, no matter clang3.8 or clang4.0 they all call __c11_atomic_compare_exchange_strong function to check the value. I think the source code maybe it is the same and fine.
If you need any more information , Please send e-mail to me and how to gather it step by step. I am waiting for reponse.
BR
Owen
|