cscheuer via llvm-dev
2018-Dec-04 12:21 UTC
[llvm-dev] Compiling for baremetal ARMv4 on Ubuntu Linux
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!
Peter Smith via llvm-dev
2018-Dec-04 14:54 UTC
[llvm-dev] Compiling for baremetal ARMv4 on Ubuntu Linux
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 at 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 at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181204/d03a4e59/attachment-0001.html>
Christian Richter via llvm-dev
2018-Dec-07 15:47 UTC
[llvm-dev] Compiling for baremetal ARMv4 on Ubuntu Linux
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 at 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 at 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 at lists.llvm.org <mailto:llvm-dev at 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 at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181207/a0b40011/attachment-0001.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: christian_richter.vcf Type: text/x-vcard Size: 246 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181207/a0b40011/attachment-0001.vcf>