(original) (raw)

Hello,

on the problems cross-building compiler-rt: Tried to follow https://llvm.org/docs/HowToCrossCompileBuiltinsOnArm.html which lead to this cmake:

cmake -G "Ninja" ../llvm/projects/compiler-rt/ \-DCOMPILER\_RT\_BUILD\_BUILTINS=ON -DCOMPILER\_RT\_BUILD\_SANITIZERS=OFF \-DCOMPILER\_RT\_BUILD\_XRAY=OFF -DCOMPILER\_RT\_BUILD\_LIBFUZZER=OFF \-DCOMPILER\_RT\_BUILD\_PROFILE=OFF \-DCMAKE\_C\_COMPILER=/usr/local/myclang/bin/clang \-DCMAKE\_AR=/usr/local/myclang/bin/llvm-ar \-DCMAKE\_NM=/usr/local/myclang/bin/llvm-nm \-DCMAKE\_RANLIB=/usr/local/myclang/bin/llvm-ranlib \-DCMAKE\_TRY\_COMPILE\_TARGET\_TYPE=STATIC\_LIBRARY \-DCMAKE\_C\_COMPILER\_TARGET="arm-linux-gnueabihf" \-DCOMPILER\_RT\_DEFAULT\_TARGET\_ONLY=ON \-DLLVM\_CONFIG\_PATH=/usr/local/myclang/bin/llvm-config \-DCMAKE\_C\_FLAGS="--target=arm-linux-gnueabihf -march=armv7a \--gcc-toolchain=/usr/arm-linux-gnueabihf \--sysroot=/usr/arm-linux-gnueabihf/lib"

Some small notes:

- Used -DCMAKE\_TRY\_COMPILE\_TARGET\_TYPE=STATIC\_LIBRARY instead of \-DCMAKE\_EXE\_LINKER\_FLAGS="-fuse-ld=lld" as Peter Smith suggested because it actually is a library and therefore does not need to be linked. If I do not change that, the cmake does not work (see below).

- used -G "Ninja" although not explicitly stated in the tutorial as they use "ninja builtins" next.

- had to change --march=armv7a to -march=armv7a as clang did not accept the first one.

the cmake was successful, but the ninja builtins was not (see both outputs below). Am I doing the --gcc-toolchain / --sysroot part right? These are just the places where the result of "apt install arm-linux-gnueabihf" lives.

cmake output with -DCMAKE\_EXE\_LINKER\_FLAGS="-fuse-ld=lld":

root@christian-forschung-virtual-machine:/home/llvm\_all/buildrtonly# cmake -G "Ninja" ../llvm/projects/compiler-rt/ \-DCOMPILER\_RT\_BUILD\_BUILTINS=ON -DCOMPILER\_RT\_BUILD\_SANITIZERS=OFF \-DCOMPILER\_RT\_BUILD\_XRAY=OFF -DCOMPILER\_RT\_BUILD\_LIBFUZZER=OFF \-DCOMPILER\_RT\_BUILD\_PROFILE=OFF \-DCMAKE\_C\_COMPILER=/usr/local/myclang/bin/clang \-DCMAKE\_AR=/usr/local/myclang/bin/llvm-ar \-DCMAKE\_NM=/usr/local/myclang/bin/llvm-nm \-DCMAKE\_RANLIB=/usr/local/myclang/bin/llvm-ranlib \-DCMAKE\_EXE\_LINKER\_FLAGS="-fuse-ld=lld" \-DCMAKE\_C\_COMPILER\_TARGET="arm-linux-gnueabihf" \-DCOMPILER\_RT\_DEFAULT\_TARGET\_ONLY=ON \-DLLVM\_CONFIG\_PATH=/usr/local/myclang/bin/llvm-config \-DCMAKE\_C\_FLAGS="--target=arm-linux-gnueabihf -march=armv7a \--gcc-toolchain=/usr/arm-linux-gnueabihf \--sysroot=/usr/arm-linux-gnueabihf/lib"
\-- The C compiler identification is Clang 8.0.0
\-- The CXX compiler identification is Clang 8.0.0
\-- The ASM compiler identification is unknown
\-- Found assembler: /usr/local/myclang/bin/clang
\-- Check for working C compiler: /usr/local/myclang/bin/clang
\-- Check for working C compiler: /usr/local/myclang/bin/clang -- broken
CMake Error at /usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake:52 (message):
The C compiler

"/usr/local/myclang/bin/clang"

is not able to compile a simple test program.

It fails with the following output:

Change Dir: /home/llvm\_all/buildrtonly/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/ninja" "cmTC\_22d97"
\[1/2\] Building C object CMakeFiles/cmTC\_22d97.dir/testCCompiler.c.o
\[2/2\] Linking C executable cmTC\_22d97
FAILED: cmTC\_22d97
: && /usr/local/myclang/bin/clang \--target=arm-linux-gnueabihf --target=arm-linux-gnueabihf \-march=armv7a --gcc-toolchain=/usr/arm-linux-gnueabihf \--sysroot=/usr/arm-linux-gnueabihf/lib -fuse-ld=lld CMakeFiles/cmTC\_22d97.dir/testCCompiler.c.o -o cmTC\_22d97 && :
ld.lld: error: cannot open crt1.o: No such file or directory
ld.lld: error: cannot open crti.o: No such file or directory
ld.lld: error: cannot open crtbegin.o: No such file or directory
ld.lld: error: unable to find library -lgcc
ld.lld: error: unable to find library -lgcc\_s
ld.lld: error: unable to find library -lc
ld.lld: error: unable to find library -lgcc
ld.lld: error: unable to find library -lgcc\_s
ld.lld: error: cannot open crtend.o: No such file or directory
ld.lld: error: cannot open crtn.o: No such file or directory
clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:10 (project)
\-- Configuring incomplete, errors occurred!
See also "/home/llvm\_all/buildrtonly/CMakeFiles/CMakeOutput.log".
See also "/home/llvm\_all/buildrtonly/CMakeFiles/CMakeError.log".


Note: Googling this error suggested installing gcc-multilib or linking "sudo ln -s /usr/lib/x86\_64-linux-gnu /usr/lib64" (which both did not fix it). But the crt1.o that lld does not seem to find is probably the one from arm-linux-gnueabihf, right? "Locate" says it's right in /usr/arm-linux-gnueabihf/lib.

Thanks so far!

Christian


cmake output with STATIC\_LIBRARY:

-- The C compiler identification is Clang 8.0.0
\-- The CXX compiler identification is Clang 8.0.0
\-- The ASM compiler identification is Clang
\-- Found assembler: /usr/local/myclang/bin/clang
\-- Check for working C compiler: /usr/local/myclang/bin/clang
\-- Check for working C compiler: /usr/local/myclang/bin/clang -- works
\-- Detecting C compiler ABI info
\-- Detecting C compiler ABI info - done
\-- Detecting C compile features
\-- Detecting C compile features - done
\-- Check for working CXX compiler: /usr/local/myclang/bin/clang++
\-- Check for working CXX compiler: /usr/local/myclang/bin/clang++ \-- works
\-- Detecting CXX compiler ABI info
\-- Detecting CXX compiler ABI info - done
\-- Detecting CXX compile features
\-- Detecting CXX compile features - done
\-- Looking for unwind.h
\-- Looking for unwind.h - found
\-- Found PythonInterp: /usr/bin/python2.7 (found version "2.7.15")
\-- Looking for fopen in c
\-- Looking for fopen in c - found
\-- Looking for \_\_gcc\_personality\_v0 in gcc\_s
\-- Looking for \_\_gcc\_personality\_v0 in gcc\_s - found
\-- Performing Test COMPILER\_RT\_HAS\_NODEFAULTLIBS\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_NODEFAULTLIBS\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FFREESTANDING\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FFREESTANDING\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FPIC\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FPIC\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FPIE\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FPIE\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FNO\_BUILTIN\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FNO\_BUILTIN\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FNO\_EXCEPTIONS\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FNO\_EXCEPTIONS\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FOMIT\_FRAME\_POINTER\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FOMIT\_FRAME\_POINTER\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FUNWIND\_TABLES\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FUNWIND\_TABLES\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FNO\_STACK\_PROTECTOR\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FNO\_STACK\_PROTECTOR\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FNO\_SANITIZE\_SAFE\_STACK\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FNO\_SANITIZE\_SAFE\_STACK\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FVISIBILITY\_HIDDEN\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FVISIBILITY\_HIDDEN\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FRTTI\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FRTTI\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FNO\_RTTI\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FNO\_RTTI\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FNO\_FUNCTION\_SECTIONS\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FNO\_FUNCTION\_SECTIONS\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_STD\_CXX11\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_STD\_CXX11\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FTLS\_MODEL\_INITIAL\_EXEC
\-- Performing Test COMPILER\_RT\_HAS\_FTLS\_MODEL\_INITIAL\_EXEC - Success
\-- Performing Test COMPILER\_RT\_HAS\_FNO\_LTO\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FNO\_LTO\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_MSSE3\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_MSSE3\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_MSSE4\_2\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_MSSE4\_2\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_SYSROOT\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_SYSROOT\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_MCRC\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_MCRC\_FLAG - Failed
\-- Performing Test COMPILER\_RT\_HAS\_FVISIBILITY\_INLINES\_HIDDEN\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FVISIBILITY\_INLINES\_HIDDEN\_FLAG \- Success
\-- Performing Test COMPILER\_RT\_HAS\_GR\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_GR\_FLAG - Failed
\-- Performing Test COMPILER\_RT\_HAS\_GS\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_GS\_FLAG - Failed
\-- Performing Test COMPILER\_RT\_HAS\_MT\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_MT\_FLAG - Failed
\-- Performing Test COMPILER\_RT\_HAS\_Oy\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_Oy\_FLAG - Failed
\-- Performing Test COMPILER\_RT\_HAS\_GLINE\_TABLES\_ONLY\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_GLINE\_TABLES\_ONLY\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_G\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_G\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_Zi\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_Zi\_FLAG - Failed
\-- Performing Test COMPILER\_RT\_HAS\_WALL\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WALL\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_WERROR\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WERROR\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_WFRAME\_LARGER\_THAN\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WFRAME\_LARGER\_THAN\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_WGLOBAL\_CONSTRUCTORS\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WGLOBAL\_CONSTRUCTORS\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_WC99\_EXTENSIONS\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WC99\_EXTENSIONS\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_WGNU\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WGNU\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_WNON\_VIRTUAL\_DTOR\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WNON\_VIRTUAL\_DTOR\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_WVARIADIC\_MACROS\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WVARIADIC\_MACROS\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_WUNUSED\_PARAMETER\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WUNUSED\_PARAMETER\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_WCOVERED\_SWITCH\_DEFAULT\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WCOVERED\_SWITCH\_DEFAULT\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_W4\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_W4\_FLAG - Failed
\-- Performing Test COMPILER\_RT\_HAS\_WX\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WX\_FLAG - Failed
\-- Performing Test COMPILER\_RT\_HAS\_WD4146\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WD4146\_FLAG - Failed
\-- Performing Test COMPILER\_RT\_HAS\_WD4291\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WD4291\_FLAG - Failed
\-- Performing Test COMPILER\_RT\_HAS\_WD4221\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WD4221\_FLAG - Failed
\-- Performing Test COMPILER\_RT\_HAS\_WD4391\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WD4391\_FLAG - Failed
\-- Performing Test COMPILER\_RT\_HAS\_WD4722\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WD4722\_FLAG - Failed
\-- Performing Test COMPILER\_RT\_HAS\_WD4800\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_WD4800\_FLAG - Failed
\-- Looking for \_\_func\_\_
\-- Looking for \_\_func\_\_ - found
\-- Looking for dlopen in dl
\-- Looking for dlopen in dl - found
\-- Looking for shm\_open in rt
\-- Looking for shm\_open in rt - found
\-- Looking for pow in m
\-- Looking for pow in m - found
\-- Looking for pthread\_create in pthread
\-- Looking for pthread\_create in pthread - found
\-- Looking for setupterm in terminfo
\-- Looking for setupterm in terminfo - found
\-- Looking for \_\_cxa\_throw in c++
\-- Looking for \_\_cxa\_throw in c++ - found
\-- Looking for \_\_cxa\_throw in stdc++
\-- Looking for \_\_cxa\_throw in stdc++ - found
\-- Compiler-RT supported architectures: armhf
\-- Performing Test COMPILER\_RT\_HAS\_STD\_C11\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_STD\_C11\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_VISIBILITY\_HIDDEN\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_VISIBILITY\_HIDDEN\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_OMIT\_FRAME\_POINTER\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_OMIT\_FRAME\_POINTER\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_FREESTANDING\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_FREESTANDING\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_XRAY\_COMPILER\_FLAG
\-- Performing Test COMPILER\_RT\_HAS\_XRAY\_COMPILER\_FLAG - Success
\-- Performing Test COMPILER\_RT\_HAS\_ATOMIC\_KEYWORD
\-- Performing Test COMPILER\_RT\_HAS\_ATOMIC\_KEYWORD - Success
\-- Builtin supported architectures: armhf
\-- Looking for \_\_VFP\_FP\_\_
\-- Looking for \_\_VFP\_FP\_\_ - found
\-- Configuring done
\-- Generating done
\-- Build files have been written to: /home/llvm\_all/buildrtonly

\--------------------------------------

ninja output:


root@christian-forschung-virtual-machine:/home/llvm\_all/buildrtonly# ninja builtins

\[1/207\] Building ASM object lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/bswapsi2.S.o
FAILED: lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/bswapsi2.S.o
/usr/local/myclang/bin/clang -DVISIBILITY\_HIDDEN -fno-lto \-std=c11 -fPIC -fno-builtin -fvisibility=hidden \-fomit-frame-pointer -fomit-frame-pointer \-DCOMPILER\_RT\_ARMHF\_TARGET -MD -MT lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/bswapsi2.S.o \-MF lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/bswapsi2.S.o.d \-o lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/bswapsi2.S.o \-c /home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapsi2.S
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapsi2.S:12:2: error: unknown directive
.syntax unified
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapsi2.S:25:3: error: invalid instruction mnemonic 'eor'
eor r1, r0, r0, ror #16
^\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapsi2.S:26:15: error: unknown token in expression
bic r1, r1, #0xff0000
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapsi2.S:27:3: error: unknown use of instruction mnemonic without a size suffix
mov r1, r1, lsr #8
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapsi2.S:28:3: error: invalid instruction mnemonic 'eor'
eor r0, r1, r0, ror #8
^\~\~
\[2/207\] Building ASM object lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/bswapdi2.S.o
FAILED: lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/bswapdi2.S.o
/usr/local/myclang/bin/clang -DVISIBILITY\_HIDDEN -fno-lto \-std=c11 -fPIC -fno-builtin -fvisibility=hidden \-fomit-frame-pointer -fomit-frame-pointer \-DCOMPILER\_RT\_ARMHF\_TARGET -MD -MT lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/bswapdi2.S.o \-MF lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/bswapdi2.S.o.d \-o lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/bswapdi2.S.o \-c /home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:12:2: error: unknown directive
.syntax unified
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:26:5: error: invalid instruction mnemonic 'eor'
eor r2, r0, r0, ror #16
^\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:27:17: error: unknown token in expression
bic r2, r2, #0xff0000
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:28:5: error: unknown use of instruction mnemonic without a size suffix
mov r2, r2, lsr #8
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:29:5: error: invalid instruction mnemonic 'eor'
eor r2, r2, r0, ror #8
^\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:31:5: error: invalid instruction mnemonic 'eor'
eor r0, r1, r1, ror #16
^\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:32:17: error: unknown token in expression
bic r0, r0, #0xff0000
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:33:5: error: unknown use of instruction mnemonic without a size suffix
mov r0, r0, lsr #8
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:34:5: error: invalid instruction mnemonic 'eor'
eor r0, r0, r1, ror #8
^\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:39:5: error: unknown use of instruction mnemonic without a size suffix
mov r1, r2
^
\[3/207\] Building ASM object lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/comparesf2.S.o
FAILED: lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/comparesf2.S.o
/usr/local/myclang/bin/clang -DVISIBILITY\_HIDDEN -fno-lto \-std=c11 -fPIC -fno-builtin -fvisibility=hidden \-fomit-frame-pointer -fomit-frame-pointer \-DCOMPILER\_RT\_ARMHF\_TARGET -MD -MT lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/comparesf2.S.o \-MF lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/comparesf2.S.o.d \-o lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/comparesf2.S.o \-c /home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:41:2: error: unknown directive
.syntax unified
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:45:1: error: unexpected token at start of statement
@ int \_\_eqsf2(float a, float b)
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:50:5: error: invalid operand for instruction
vmov r0, s0
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:51:5: error: invalid operand for instruction
vmov r1, s1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:53:5: error: unknown use of instruction mnemonic without a size suffix
mov r2, r0, lsl #1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:54:5: error: unknown use of instruction mnemonic without a size suffix
mov r3, r1, lsl #1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:56:5: error: invalid instruction mnemonic 'orrs'
orrs r12, r2, r3, lsr #1
^\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:58:5: error: invalid instruction mnemonic 'it'
it ne
^\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:59:5: error: invalid instruction mnemonic 'eorsne'
eorsne r12, r0, r1
^\~\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:61:5: error: invalid instruction mnemonic 'it'
it pl
^\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:62:5: error: invalid instruction mnemonic 'subspl'
subspl r0, r2, r3
^\~\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:64:5: error: invalid instruction mnemonic 'it'
it lo
^\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:65:5: error: invalid instruction mnemonic 'mvnlo'
mvnlo r0, r1, asr #31
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:67:5: error: invalid instruction mnemonic 'it'
it hi
^\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:68:5: error: invalid instruction mnemonic 'movhi'
movhi r0, r1, asr #31
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:70:5: error: invalid instruction mnemonic 'it'
it ne
^\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:71:19: error: unknown token in expression
orrne r0, r0, #1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:167:13: error: unknown token in expression
cmp r2, #0xff000000
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:168:5: error: invalid instruction mnemonic 'ite'
ite ls
^\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:169:15: error: unknown token in expression
cmpls r3, #0xff000000
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:170:15: error: unknown token in expression
movhi r0, #1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:179:1: error: unexpected token at start of statement
@ int \_\_gtsf2(float a, float b)
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:188:5: error: invalid operand for instruction
vmov r0, s0
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:189:5: error: invalid operand for instruction
vmov r1, s1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:191:5: error: unknown use of instruction mnemonic without a size suffix
mov r2, r0, lsl #1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:192:5: error: unknown use of instruction mnemonic without a size suffix
mov r3, r1, lsl #1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:193:5: error: invalid instruction mnemonic 'orrs'
orrs r12, r2, r3, lsr #1
^\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:194:5: error: invalid instruction mnemonic 'it'
it ne
^\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:195:5: error: invalid instruction mnemonic 'eorsne'
eorsne r12, r0, r1
^\~\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:196:5: error: invalid instruction mnemonic 'it'
it pl
^\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:197:5: error: invalid instruction mnemonic 'subspl'
subspl r0, r2, r3
^\~\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:198:5: error: invalid instruction mnemonic 'it'
it lo
^\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:199:5: error: invalid instruction mnemonic 'mvnlo'
mvnlo r0, r1, asr #31
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:200:5: error: invalid instruction mnemonic 'it'
it hi
^\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:201:5: error: invalid instruction mnemonic 'movhi'
movhi r0, r1, asr #31
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:202:5: error: invalid instruction mnemonic 'it'
it ne
^\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:203:19: error: unknown token in expression
orrne r0, r0, #1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:204:13: error: unknown token in expression
cmp r2, #0xff000000
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:205:5: error: invalid instruction mnemonic 'ite'
ite ls
^\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:206:15: error: unknown token in expression
cmpls r3, #0xff000000
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:207:15: error: unknown token in expression
movhi r0, #-1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:214:1: error: unexpected token at start of statement
@ int \_\_unordsf2(float a, float b)
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:220:5: error: invalid operand for instruction
vmov r0, s0
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:221:5: error: invalid operand for instruction
vmov r1, s1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:224:18: error: unknown token in expression
lsls r2, r0, #1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:225:18: error: unknown token in expression
lsls r3, r1, #1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:226:14: error: unknown token in expression
movs r0, #0
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:277:13: error: unknown token in expression
cmp r2, #0xff000000
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:278:5: error: invalid instruction mnemonic 'ite'
ite ls
^\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:279:15: error: unknown token in expression
cmpls r3, #0xff000000
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:280:15: error: unknown token in expression
movhi r0, #1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:287:2: error: invalid operand for instruction
vmov s0, r0
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:288:2: error: invalid operand for instruction
vmov s1, r1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:289:2: error: invalid instruction mnemonic 'b'
b \_\_unordsf2
^
\[4/207\] Building ASM object lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/clzsi2.S.o
FAILED: lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/clzsi2.S.o
/usr/local/myclang/bin/clang -DVISIBILITY\_HIDDEN -fno-lto \-std=c11 -fPIC -fno-builtin -fvisibility=hidden \-fomit-frame-pointer -fomit-frame-pointer \-DCOMPILER\_RT\_ARMHF\_TARGET -MD -MT lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/clzsi2.S.o \-MF lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/clzsi2.S.o.d \-o lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/clzsi2.S.o \-c /home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:16:2: error: unknown directive
.syntax unified
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:33:2: error: unknown use of instruction mnemonic without a size suffix
mov r1, 1
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:35:2: error: invalid instruction mnemonic 'lsrs'
lsrs r2, r0, 16; movne r0, r2; addeq r1, 16
^\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:35:19: error: invalid instruction mnemonic 'movne'
lsrs r2, r0, 16; movne r0, r2; addeq r1, 16
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:35:33: error: invalid instruction mnemonic 'addeq'
lsrs r2, r0, 16; movne r0, r2; addeq r1, 16
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:36:2: error: invalid instruction mnemonic 'lsrs'
lsrs r2, r0, 8; movne r0, r2; addeq r1, 8
^\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:36:18: error: invalid instruction mnemonic 'movne'
lsrs r2, r0, 8; movne r0, r2; addeq r1, 8
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:36:32: error: invalid instruction mnemonic 'addeq'
lsrs r2, r0, 8; movne r0, r2; addeq r1, 8
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:37:2: error: invalid instruction mnemonic 'lsrs'
lsrs r2, r0, 4; movne r0, r2; addeq r1, 4
^\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:37:18: error: invalid instruction mnemonic 'movne'
lsrs r2, r0, 4; movne r0, r2; addeq r1, 4
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:37:32: error: invalid instruction mnemonic 'addeq'
lsrs r2, r0, 4; movne r0, r2; addeq r1, 4
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:38:2: error: invalid instruction mnemonic 'lsrs'
lsrs r2, r0, 2; movne r0, r2; addeq r1, 2
^\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:38:18: error: invalid instruction mnemonic 'movne'
lsrs r2, r0, 2; movne r0, r2; addeq r1, 2
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:38:32: error: invalid instruction mnemonic 'addeq'
lsrs r2, r0, 2; movne r0, r2; addeq r1, 2
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:40:2: error: unknown use of instruction mnemonic without a size suffix
sub r0, r1, r0, lsr #1
^
\[5/207\] Building ASM object lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/clzdi2.S.o
FAILED: lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/clzdi2.S.o
/usr/local/myclang/bin/clang -DVISIBILITY\_HIDDEN -fno-lto \-std=c11 -fPIC -fno-builtin -fvisibility=hidden \-fomit-frame-pointer -fomit-frame-pointer \-DCOMPILER\_RT\_ARMHF\_TARGET -MD -MT lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/clzdi2.S.o \-MF lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/clzdi2.S.o.d \-o lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/clzdi2.S.o \-c /home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:16:2: error: unknown directive
.syntax unified
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:50:2: error: unknown use of instruction mnemonic without a size suffix
cmp r1, 0
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:51:2: error: invalid instruction mnemonic 'movne'
movne r0, r1
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:53:2: error: invalid instruction mnemonic 'movne'
movne r1, 1
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:54:2: error: invalid instruction mnemonic 'moveq'
moveq r1, 33
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:56:2: error: invalid instruction mnemonic 'lsrs'
lsrs r2, r0, 16; movne r0, r2; addeq r1, 16
^\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:56:19: error: invalid instruction mnemonic 'movne'
lsrs r2, r0, 16; movne r0, r2; addeq r1, 16
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:56:33: error: invalid instruction mnemonic 'addeq'
lsrs r2, r0, 16; movne r0, r2; addeq r1, 16
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:57:2: error: invalid instruction mnemonic 'lsrs'
lsrs r2, r0, 8; movne r0, r2; addeq r1, 8
^\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:57:18: error: invalid instruction mnemonic 'movne'
lsrs r2, r0, 8; movne r0, r2; addeq r1, 8
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:57:32: error: invalid instruction mnemonic 'addeq'
lsrs r2, r0, 8; movne r0, r2; addeq r1, 8
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:58:2: error: invalid instruction mnemonic 'lsrs'
lsrs r2, r0, 4; movne r0, r2; addeq r1, 4
^\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:58:18: error: invalid instruction mnemonic 'movne'
lsrs r2, r0, 4; movne r0, r2; addeq r1, 4
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:58:32: error: invalid instruction mnemonic 'addeq'
lsrs r2, r0, 4; movne r0, r2; addeq r1, 4
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:59:2: error: invalid instruction mnemonic 'lsrs'
lsrs r2, r0, 2; movne r0, r2; addeq r1, 2
^\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:59:18: error: invalid instruction mnemonic 'movne'
lsrs r2, r0, 2; movne r0, r2; addeq r1, 2
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:59:32: error: invalid instruction mnemonic 'addeq'
lsrs r2, r0, 2; movne r0, r2; addeq r1, 2
^\~\~\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:61:2: error: unknown use of instruction mnemonic without a size suffix
sub r0, r1, r0, lsr #1
^
\[6/207\] Building ASM object lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/divmodsi4.S.o
FAILED: lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/divmodsi4.S.o
/usr/local/myclang/bin/clang -DVISIBILITY\_HIDDEN -fno-lto \-std=c11 -fPIC -fno-builtin -fvisibility=hidden \-fomit-frame-pointer -fomit-frame-pointer \-DCOMPILER\_RT\_ARMHF\_TARGET -MD -MT lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/divmodsi4.S.o \-MF lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/divmodsi4.S.o.d \-o lib/builtins/CMakeFiles/clang\_rt.builtins-armhf.dir/arm/divmodsi4.S.o \-c /home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:24:2: error: unknown directive
.syntax unified
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:28:1: error: unexpected token at start of statement
@ int \_\_divmodsi4(int divident, int divisor, int \*remainder)
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:29:1: error: unexpected token at start of statement
@ Calculate the quotient and remainder of the (signed) division. The return
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:30:1: error: unexpected token at start of statement
@ value is the quotient, the remainder is placed in the variable.
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:46:11: error: Invalid rounding mode.
push {r4-r7, lr} ; add r7, sp, #12
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:46:36: error: unknown token in expression
push {r4-r7, lr} ; add r7, sp, #12
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:49:5: error: invalid instruction mnemonic 'eor'
eor r4, r0, r1
^\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:50:5: error: unknown use of instruction mnemonic without a size suffix
mov r5, r0
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:51:5: error: unknown use of instruction mnemonic without a size suffix
mov r6, r2
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:53:5: error: invalid instruction mnemonic 'eor'
eor ip, r0, r0, asr #31
^\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:54:5: error: invalid instruction mnemonic 'eor'
eor lr, r1, r1, asr #31
^\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:55:5: error: unknown use of instruction mnemonic without a size suffix
sub r0, ip, r0, asr #31
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:56:5: error: unknown use of instruction mnemonic without a size suffix
sub r1, lr, r1, asr #31
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:58:5: error: invalid instruction mnemonic 'bl'
bl \_\_udivmodsi4
^\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:60:5: error: invalid instruction mnemonic 'ldr'
ldr r1, \[r6\]
^\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:61:5: error: invalid instruction mnemonic 'eor'
eor r0, r0, r4, asr #31
^\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:62:5: error: invalid instruction mnemonic 'eor'
eor r1, r1, r5, asr #31
^\~\~
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:63:5: error: unknown use of instruction mnemonic without a size suffix
sub r0, r0, r4, asr #31
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:64:5: error: unknown use of instruction mnemonic without a size suffix
sub r1, r1, r5, asr #31
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:65:5: error: unknown use of instruction mnemonic without a size suffix
str r1, \[r6\]
^
/home/llvm\_all/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:66:10: error: Invalid rounding mode.
pop {r4-r7, pc}










On 04.12.2018 15:54, Peter Smith via llvm-dev wrote:
Hello,

Just a few quick observations.
- It looks like you may have downloaded the linux arm toolchain. For bare metal you probably wanted the Arm embedded toolchain, https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
-- That toolchain will have newlib rather than glibc, I don't know whether it will have one pre-compiled for v4 though. If not you may have to find an older toolchain or build newlib youtself.
- The bare-metal driver in clang (arm-none-eabi) is not multilib aware and won't put the paths to the libraries on the link line, the -L flag
-- I have found that following the samples in the gnu embedded toolchain with gcc using the -v flag to get the paths it is using, then use these with lld.

If you can let us know what problems you are seeing building compiler-rt then we may be able to help. I'm not sure there is anyone building it for arm v4 so you may be hitting new problems. I'm away at a conference today and tomorrow but I can try later in the week.

Peter

On Tue, 4 Dec 2018 at 12:21, cscheuer via llvm-dev <llvm-dev@lists.llvm.org> wrote:
I am currently trying to compile a pretty simple program to work on an
experimental board. It contains an (FPGA-version of) an ARMv4 processor.
So basically, I try this (on my Ubuntu 18.04.1 LTS):
clang -v --target=arm-none-eabi -c barehello.c -o barehelloCLANG.o
clang -v --target=arm-none-eabi -c io.c -o io.o
clang -v --target=arm-none-eabi barehelloCLANG.o io.o -o
helloCLANGstatic -static -fuse-ld=lld

Which results in

clang version 8.0.0 (https://git.llvm.org/git/clang.git/
a152c7a4b7ba8f4cb9532ead9a38a7121db43d50)
(https://git.llvm.org/git/llvm.git/
1959ce6f3e01241919968ac1911fd45660239d23)
Target: arm-none-unknown-eabi
Thread model: posix
InstalledDir: /usr/local/my\_clang/bin
"/usr/local/my\_clang/bin/ld.lld" barehelloCLANG.o io.o \-Bstatic
\-L/usr/local/my\_clang/lib/clang/8.0.0/lib/baremetal -lc -lm
\-lclang\_rt.builtins-arm.a -o helloCLANGstatic
ld.lld: error: unable to find library -lc
ld.lld: error: unable to find library -lm
ld.lld: error: unable to find library \-lclang\_rt.builtins-arm.a
clang-8: error: ld.lld command failed with exit code 1 (use \-v to see
invocation)

on the linking part. I downloaded a sysroot from
https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads/8-2-2018-08
and tried to include it via --sysroot=/my/path/to/it, but clang acted
unimpressed with the same errors. So I'm missing clang\_rt.builtins-arm.a
I guess, but that does not exist on my system.
So next, I tried basically every version of "how to cross-compile
llvm/clang/compiler-rt" That google came up with, but was not able to
get a single one to actually work. Any ideas how to get this running?
Thanks in advance!
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
LLVM Developers mailing list
llvm-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_  
LLVM Developers mailing list  
llvm-dev@lists.llvm.org  
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev