[cfe-dev] compiler-rt non-neon builds are still broken

İsmail Dönmez ismail at donmez.ws
Wed Dec 17 10:44:01 PST 2014


On Wed, Dec 17, 2014 at 8:37 PM, Jonathan Roelofs
<jonathan at codesourcery.com> wrote:
>
>
> On 12/17/14 11:34 AM, Renato Golin wrote:
>>
>> On 17 December 2014 at 16:49, İsmail Dönmez <ismail at donmez.ws> wrote:
>>>>
>>>> /opt/clang/bin/clang -target armv7a-unknown-linux-gnueabihf
>>>> -mfpu=vfpv3-d16 -c UnwindRegistersRestore.S
>>>
>>> ./UnwindRegistersRestoreARM.S:145:15: error: register expected
>>>    vldmia r0, {d16-d31}
>>>                ^
>>
>>
>> My GCC is 4.9.2, and I can't reproduce your error. But where GCC is
>> 4.8, I can. I'm not sure why is that, since we're using Clang, but it
>> deserves some investigation.
>>
>> Basically, the error message is saying that "d16" is not a valid
>> register name. If you change to -mfpu=vfpv3 everything works, so it's
>> definitely a run time issue.
>
> Is integrated-as the default on solaris? If not, which assembler is being
> picked up?

Who said Slowaris? :) This is openSUSE Linux x86-64

> Ismail, can you run the above command again with '-v'?

Its surely integrated assembler:

[/havana/llvm/projects/libcxxabi/src/Unwind]> /opt/clang/bin/clang -v
-target armv7a-unknown-linux-gnueabihf -mfpu=vfpv3-d16 -
c UnwindRegistersRestore.S
clang version 3.6.0 (trunk 224333)
Target: armv7a-unknown-linux-gnueabihf
Thread model: posix
 "/opt/clang/bin/clang-3.6" -cc1 -triple armv7-unknown-linux-gnueabihf
-E -disable-free -main-file-name UnwindRegistersRestore
.S -mrelocation-model static -mthread-model posix -mdisable-fp-elim
-fmath-errno -masm-verbose -mconstructor-aliases -target-c
pu cortex-a8 -target-feature +vfp3 -target-feature +d16
-target-feature -neon -target-abi aapcs-linux -mfloat-abi hard -v -dwa
rf-column-info -coverage-file
/havana/llvm/projects/libcxxabi/src/Unwind/UnwindRegistersRestore.S
-resource-dir /opt/clang/bin
/../lib64/clang/3.6.0 -internal-isystem /usr/local/include
-internal-isystem /opt/clang/bin/../lib64/clang/3.6.0/include
-internal-externc-isystem /include -internal-externc-isystem
/usr/include -fdebug-compilation-dir
/havana/llvm/projects/libcxxabi/src/Unwind -ferror-limit 19
-fmessage-length 126 -mstackrealign -fno-signed-char
-fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -o
/tmp/UnwindRegistersRestore-47232b.s -x assembler-with-cpp
UnwindRegistersRestore.S
clang -cc1 version 3.6.0 based upon LLVM 3.6.0svn default target
x86_64-suse-linux
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /opt/clang/bin/../lib64/clang/3.6.0/include
 /usr/include
End of search list.
 "/opt/clang/bin/clang-3.6" -cc1as -triple
armv7-unknown-linux-gnueabihf -filetype obj -main-file-name
UnwindRegistersRestore.
S -target-cpu cortex-a8 -target-feature +vfp3 -target-feature +d16
-target-feature -neon -fdebug-compilation-dir /havana/llvm/
projects/libcxxabi/src/Unwind -dwarf-debug-producer clang version
3.6.0 (trunk 224333) -o UnwindRegistersRestore.o /tmp/Unwind
RegistersRestore-47232b.s
./UnwindRegistersRestoreARM.S:145:15: error: register expected
  vldmia r0, {d16-d31}
              ^




More information about the cfe-dev mailing list