[llvm-dev] Compiling for baremetal ARMv4 on Ubuntu Linux (original) (raw)
Peter Smith via llvm-dev llvm-dev at lists.llvm.org
Fri Dec 7 08:40:29 PST 2018
- Previous message: [llvm-dev] Compiling for baremetal ARMv4 on Ubuntu Linux
- Next message: [llvm-dev] Compiling for baremetal ARMv4 on Ubuntu Linux
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello Christian,
I've put some comments inline
On Fri, 7 Dec 2018 at 15:48, Christian Richter via llvm-dev <llvm-dev at lists.llvm.org> wrote:
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/ -DCOMPILERRTBUILDBUILTINS=ON -DCOMPILERRTBUILDSANITIZERS=OFF -DCOMPILERRTBUILDXRAY=OFF -DCOMPILERRTBUILDLIBFUZZER=OFF -DCOMPILERRTBUILDPROFILE=OFF -DCMAKECCOMPILER=/usr/local/myclang/bin/clang -DCMAKEAR=/usr/local/myclang/bin/llvm-ar -DCMAKENM=/usr/local/myclang/bin/llvm-nm -DCMAKERANLIB=/usr/local/myclang/bin/llvm-ranlib -DCMAKETRYCOMPILETARGETTYPE=STATICLIBRARY -DCMAKECCOMPILERTARGET="arm-linux-gnueabihf" -DCOMPILERRTDEFAULTTARGETONLY=ON -DLLVMCONFIGPATH=/usr/local/myclang/bin/llvm-config -DCMAKECFLAGS="--target=arm-linux-gnueabihf -march=armv7a --gcc-toolchain=/usr/arm-linux-gnueabihf --sysroot=/usr/arm-linux-gnueabihf/lib" Some small notes: - Used -DCMAKETRYCOMPILETARGETTYPE=STATICLIBRARY instead of -DCMAKEEXELINKERFLAGS="-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 -DCMAKEEXELINKERFLAGS="-fuse-ld=lld":
Thanks for the comments. I will try and revisit that document next week and will post an update.
root at christian-forschung-virtual-machine:/home/llvmall/buildrtonly# cmake -G "Ninja" ../llvm/projects/compiler-rt/ -DCOMPILERRTBUILDBUILTINS=ON -DCOMPILERRTBUILDSANITIZERS=OFF -DCOMPILERRTBUILDXRAY=OFF -DCOMPILERRTBUILDLIBFUZZER=OFF -DCOMPILERRTBUILDPROFILE=OFF -DCMAKECCOMPILER=/usr/local/myclang/bin/clang -DCMAKEAR=/usr/local/myclang/bin/llvm-ar -DCMAKENM=/usr/local/myclang/bin/llvm-nm -DCMAKERANLIB=/usr/local/myclang/bin/llvm-ranlib -DCMAKEEXELINKERFLAGS="-fuse-ld=lld" -DCMAKECCOMPILERTARGET="arm-linux-gnueabihf" -DCOMPILERRTDEFAULTTARGETONLY=ON -DLLVMCONFIGPATH=/usr/local/myclang/bin/llvm-config -DCMAKECFLAGS="--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/llvmall/buildrtonly/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/ninja" "cmTC22d97" [1/2] Building C object CMakeFiles/cmTC22d97.dir/testCCompiler.c.o [2/2] Linking C executable cmTC22d97 FAILED: cmTC22d97 : && /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/cmTC22d97.dir/testCCompiler.c.o -o cmTC22d97 && : 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 -lgccs ld.lld: error: unable to find library -lc ld.lld: error: unable to find library -lgcc ld.lld: error: unable to find library -lgccs 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/llvmall/buildrtonly/CMakeFiles/CMakeOutput.log". See also "/home/llvmall/buildrtonly/CMakeFiles/CMakeError.log".
Note: Googling this error suggested installing gcc-multilib or linking "sudo ln -s /usr/lib/x8664-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.
The instructions to use --gcc-toolchain and --sysroot work well for a separate toolchain install directory. They don't seem to work as well for a debian multiarch style installation. I think it will be worth trying to compile helloworld outside of cmake. If you can get that to work then this might help guide us to what flags to use.
On my ubuntu 16.04 machine I've got /usr/arm-linux-gnueabihf and /usr/include/arm-linux-gnueabihf and /usr/lib/arm-linux-gnueabihf With this configuration the clang linux driver is able to find the libraries without the sysroot and gcc-toolchain as it is effectively root. Can you try with a simple helloworld program: clang --target=arm-linux-gnueabihf hello.c -o hello -fuse-ld=lld qemu-arm -L /usr/arm-linux-gnueabihf hello If all is well you should see qemu-arm print Hello World. You may need to install the package qemu-user if you've not already done so.
With the -v option clang will tell you where it is searching for headers and libraries, I've often found that useful in trying to find out what is going.
Assuming that this has worked for you can you try removing "--gcc-toolchain=/usr/arm-linux-gnueabihf --sysroot=/usr/arm-linux-gnueabihf/lib" from your flags in the cmake build.
For the errors below it looks like clang is using the default target for assembler, note that --target=arm-linux-gnueabihf is missing. I have seen that before, and the solution I found was to pass -DCMAKE_ASM_FLAGS="same as C flags including --target=arm-linux-gnueabihf and -march=armv7a"
Thanks for reporting the problems. If I get time next week I'll have a go at improving the documentation.
Peter
Thanks so far!
Christian
cmake output with STATICLIBRARY: -- 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 gccpersonalityv0 in gccs _-- Looking for gccpersonalityv0 in gccs - found -- Performing Test COMPILERRTHASNODEFAULTLIBSFLAG -- Performing Test COMPILERRTHASNODEFAULTLIBSFLAG - Success -- Performing Test COMPILERRTHASFFREESTANDINGFLAG -- Performing Test COMPILERRTHASFFREESTANDINGFLAG - Success -- Performing Test COMPILERRTHASFPICFLAG -- Performing Test COMPILERRTHASFPICFLAG - Success -- Performing Test COMPILERRTHASFPIEFLAG -- Performing Test COMPILERRTHASFPIEFLAG - Success -- Performing Test COMPILERRTHASFNOBUILTINFLAG -- Performing Test COMPILERRTHASFNOBUILTINFLAG - Success -- Performing Test COMPILERRTHASFNOEXCEPTIONSFLAG -- Performing Test COMPILERRTHASFNOEXCEPTIONSFLAG - Success -- Performing Test COMPILERRTHASFOMITFRAMEPOINTERFLAG -- Performing Test COMPILERRTHASFOMITFRAMEPOINTERFLAG - Success -- Performing Test COMPILERRTHASFUNWINDTABLESFLAG -- Performing Test COMPILERRTHASFUNWINDTABLESFLAG - Success -- Performing Test COMPILERRTHASFNOSTACKPROTECTORFLAG -- Performing Test COMPILERRTHASFNOSTACKPROTECTORFLAG - Success -- Performing Test COMPILERRTHASFNOSANITIZESAFESTACKFLAG -- Performing Test COMPILERRTHASFNOSANITIZESAFESTACKFLAG - Success -- Performing Test COMPILERRTHASFVISIBILITYHIDDENFLAG -- Performing Test COMPILERRTHASFVISIBILITYHIDDENFLAG - Success -- Performing Test COMPILERRTHASFRTTIFLAG -- Performing Test COMPILERRTHASFRTTIFLAG - Success -- Performing Test COMPILERRTHASFNORTTIFLAG -- Performing Test COMPILERRTHASFNORTTIFLAG - Success -- Performing Test COMPILERRTHASFNOFUNCTIONSECTIONSFLAG -- Performing Test COMPILERRTHASFNOFUNCTIONSECTIONSFLAG - Success -- Performing Test COMPILERRTHASSTDCXX11FLAG -- Performing Test COMPILERRTHASSTDCXX11FLAG - Success -- Performing Test COMPILERRTHASFTLSMODELINITIALEXEC -- Performing Test COMPILERRTHASFTLSMODELINITIALEXEC - Success -- Performing Test COMPILERRTHASFNOLTOFLAG -- Performing Test COMPILERRTHASFNOLTOFLAG - Success -- Performing Test COMPILERRTHASMSSE3FLAG -- Performing Test COMPILERRTHASMSSE3FLAG - Success -- Performing Test COMPILERRTHASMSSE42FLAG -- Performing Test COMPILERRTHASMSSE42FLAG - Success -- Performing Test COMPILERRTHASSYSROOTFLAG -- Performing Test COMPILERRTHASSYSROOTFLAG - Success -- Performing Test COMPILERRTHASMCRCFLAG -- Performing Test COMPILERRTHASMCRCFLAG - Failed -- Performing Test COMPILERRTHASFVISIBILITYINLINESHIDDENFLAG -- Performing Test COMPILERRTHASFVISIBILITYINLINESHIDDENFLAG - Success -- Performing Test COMPILERRTHASGRFLAG -- Performing Test COMPILERRTHASGRFLAG - Failed -- Performing Test COMPILERRTHASGSFLAG -- Performing Test COMPILERRTHASGSFLAG - Failed -- Performing Test COMPILERRTHASMTFLAG -- Performing Test COMPILERRTHASMTFLAG - Failed -- Performing Test COMPILERRTHASOyFLAG -- Performing Test COMPILERRTHASOyFLAG - Failed -- Performing Test COMPILERRTHASGLINETABLESONLYFLAG -- Performing Test COMPILERRTHASGLINETABLESONLYFLAG - Success -- Performing Test COMPILERRTHASGFLAG -- Performing Test COMPILERRTHASGFLAG - Success -- Performing Test COMPILERRTHASZiFLAG -- Performing Test COMPILERRTHASZiFLAG - Failed -- Performing Test COMPILERRTHASWALLFLAG -- Performing Test COMPILERRTHASWALLFLAG - Success -- Performing Test COMPILERRTHASWERRORFLAG -- Performing Test COMPILERRTHASWERRORFLAG - Success -- Performing Test COMPILERRTHASWFRAMELARGERTHANFLAG -- Performing Test COMPILERRTHASWFRAMELARGERTHANFLAG - Success -- Performing Test COMPILERRTHASWGLOBALCONSTRUCTORSFLAG -- Performing Test COMPILERRTHASWGLOBALCONSTRUCTORSFLAG - Success -- Performing Test COMPILERRTHASWC99EXTENSIONSFLAG -- Performing Test COMPILERRTHASWC99EXTENSIONSFLAG - Success -- Performing Test COMPILERRTHASWGNUFLAG -- Performing Test COMPILERRTHASWGNUFLAG - Success -- Performing Test COMPILERRTHASWNONVIRTUALDTORFLAG -- Performing Test COMPILERRTHASWNONVIRTUALDTORFLAG - Success -- Performing Test COMPILERRTHASWVARIADICMACROSFLAG -- Performing Test COMPILERRTHASWVARIADICMACROSFLAG - Success -- Performing Test COMPILERRTHASWUNUSEDPARAMETERFLAG -- Performing Test COMPILERRTHASWUNUSEDPARAMETERFLAG - Success -- Performing Test COMPILERRTHASWCOVEREDSWITCHDEFAULTFLAG -- Performing Test COMPILERRTHASWCOVEREDSWITCHDEFAULTFLAG - Success -- Performing Test COMPILERRTHASW4FLAG -- Performing Test COMPILERRTHASW4FLAG - Failed -- Performing Test COMPILERRTHASWXFLAG -- Performing Test COMPILERRTHASWXFLAG - Failed -- Performing Test COMPILERRTHASWD4146FLAG -- Performing Test COMPILERRTHASWD4146FLAG - Failed -- Performing Test COMPILERRTHASWD4291FLAG -- Performing Test COMPILERRTHASWD4291FLAG - Failed -- Performing Test COMPILERRTHASWD4221FLAG -- Performing Test COMPILERRTHASWD4221FLAG - Failed -- Performing Test COMPILERRTHASWD4391FLAG -- Performing Test COMPILERRTHASWD4391FLAG - Failed -- Performing Test COMPILERRTHASWD4722FLAG -- Performing Test COMPILERRTHASWD4722FLAG - Failed -- Performing Test COMPILERRTHASWD4800FLAG -- Performing Test COMPILERRTHASWD4800FLAG - Failed -- Looking for func -- Looking for func - found -- Looking for dlopen in dl -- Looking for dlopen in dl - found -- Looking for shmopen in rt -- Looking for shmopen in rt - found -- Looking for pow in m -- Looking for pow in m - found -- Looking for pthreadcreate in pthread -- Looking for pthreadcreate in pthread - found -- Looking for setupterm in terminfo -- Looking for setupterm in terminfo - found _-- Looking for cxathrow in c++ _-- Looking for cxathrow in c++ - found _-- Looking for cxathrow in stdc++ _-- Looking for cxathrow in stdc++ - found -- Compiler-RT supported architectures: armhf -- Performing Test COMPILERRTHASSTDC11FLAG -- Performing Test COMPILERRTHASSTDC11FLAG - Success -- Performing Test COMPILERRTHASVISIBILITYHIDDENFLAG -- Performing Test COMPILERRTHASVISIBILITYHIDDENFLAG - Success -- Performing Test COMPILERRTHASOMITFRAMEPOINTERFLAG -- Performing Test COMPILERRTHASOMITFRAMEPOINTERFLAG - Success -- Performing Test COMPILERRTHASFREESTANDINGFLAG -- Performing Test COMPILERRTHASFREESTANDINGFLAG - Success -- Performing Test COMPILERRTHASXRAYCOMPILERFLAG -- Performing Test COMPILERRTHASXRAYCOMPILERFLAG - Success -- Performing Test COMPILERRTHASATOMICKEYWORD -- Performing Test COMPILERRTHASATOMICKEYWORD - Success -- Builtin supported architectures: armhf -- Looking for VFPFP -- Looking for VFPFP - found -- Configuring done -- Generating done -- Build files have been written to: /home/llvmall/buildrtonly -------------------------------------- ninja output: root at christian-forschung-virtual-machine:/home/llvmall/buildrtonly# ninja builtins [1/207] Building ASM object lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/bswapsi2.S.o FAILED: lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/bswapsi2.S.o /usr/local/myclang/bin/clang -DVISIBILITYHIDDEN -fno-lto -std=c11 -fPIC -fno-builtin -fvisibility=hidden -fomit-frame-pointer -fomit-frame-pointer -DCOMPILERRTARMHFTARGET -MD -MT lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/bswapsi2.S.o -MF lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/bswapsi2.S.o.d -o lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/bswapsi2.S.o -c /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/bswapsi2.S /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/bswapsi2.S:12:2: error: unknown directive .syntax unified ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/bswapsi2.S:25:3: error: invalid instruction mnemonic 'eor' eor r1, r0, r0, ror #16 ^~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/bswapsi2.S:26:15: error: unknown token in expression bic r1, r1, #0xff0000 ^ /home/llvmall/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/llvmall/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/clangrt.builtins-armhf.dir/arm/bswapdi2.S.o FAILED: lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/bswapdi2.S.o /usr/local/myclang/bin/clang -DVISIBILITYHIDDEN -fno-lto -std=c11 -fPIC -fno-builtin -fvisibility=hidden -fomit-frame-pointer -fomit-frame-pointer -DCOMPILERRTARMHFTARGET -MD -MT lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/bswapdi2.S.o -MF lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/bswapdi2.S.o.d -o lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/bswapdi2.S.o -c /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:12:2: error: unknown directive .syntax unified ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:26:5: error: invalid instruction mnemonic 'eor' eor r2, r0, r0, ror #16 ^~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:27:17: error: unknown token in expression bic r2, r2, #0xff0000 ^ /home/llvmall/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/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:29:5: error: invalid instruction mnemonic 'eor' eor r2, r2, r0, ror #8 ^~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:31:5: error: invalid instruction mnemonic 'eor' eor r0, r1, r1, ror #16 ^~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:32:17: error: unknown token in expression bic r0, r0, #0xff0000 ^ /home/llvmall/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/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/bswapdi2.S:34:5: error: invalid instruction mnemonic 'eor' eor r0, r0, r1, ror #8 ^~~ /home/llvmall/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/clangrt.builtins-armhf.dir/arm/comparesf2.S.o FAILED: lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/comparesf2.S.o /usr/local/myclang/bin/clang -DVISIBILITYHIDDEN -fno-lto -std=c11 -fPIC -fno-builtin -fvisibility=hidden -fomit-frame-pointer -fomit-frame-pointer -DCOMPILERRTARMHFTARGET -MD -MT lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/comparesf2.S.o -MF lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/comparesf2.S.o.d -o lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/comparesf2.S.o -c /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:41:2: error: unknown directive .syntax unified ^ /home/llvmall/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/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:50:5: error: invalid operand for instruction vmov r0, s0 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:51:5: error: invalid operand for instruction vmov r1, s1 ^ /home/llvmall/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/llvmall/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/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:56:5: error: invalid instruction mnemonic 'orrs' orrs r12, r2, r3, lsr #1 ^~~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:58:5: error: invalid instruction mnemonic 'it' it ne ^~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:59:5: error: invalid instruction mnemonic 'eorsne' eorsne r12, r0, r1 ^~~~~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:61:5: error: invalid instruction mnemonic 'it' it pl ^~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:62:5: error: invalid instruction mnemonic 'subspl' subspl r0, r2, r3 ^~~~~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:64:5: error: invalid instruction mnemonic 'it' it lo ^~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:65:5: error: invalid instruction mnemonic 'mvnlo' mvnlo r0, r1, asr #31 ^~~~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:67:5: error: invalid instruction mnemonic 'it' it hi ^~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:68:5: error: invalid instruction mnemonic 'movhi' movhi r0, r1, asr #31 ^~~~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:70:5: error: invalid instruction mnemonic 'it' it ne ^~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:71:19: error: unknown token in expression orrne r0, r0, #1 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:167:13: error: unknown token in expression cmp r2, #0xff000000 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:168:5: error: invalid instruction mnemonic 'ite' ite ls ^~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:169:15: error: unknown token in expression cmpls r3, #0xff000000 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:170:15: error: unknown token in expression movhi r0, #1 ^ /home/llvmall/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/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:188:5: error: invalid operand for instruction vmov r0, s0 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:189:5: error: invalid operand for instruction vmov r1, s1 ^ /home/llvmall/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/llvmall/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/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:193:5: error: invalid instruction mnemonic 'orrs' orrs r12, r2, r3, lsr #1 ^~~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:194:5: error: invalid instruction mnemonic 'it' it ne ^~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:195:5: error: invalid instruction mnemonic 'eorsne' eorsne r12, r0, r1 ^~~~~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:196:5: error: invalid instruction mnemonic 'it' it pl ^~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:197:5: error: invalid instruction mnemonic 'subspl' subspl r0, r2, r3 ^~~~~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:198:5: error: invalid instruction mnemonic 'it' it lo ^~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:199:5: error: invalid instruction mnemonic 'mvnlo' mvnlo r0, r1, asr #31 ^~~~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:200:5: error: invalid instruction mnemonic 'it' it hi ^~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:201:5: error: invalid instruction mnemonic 'movhi' movhi r0, r1, asr #31 ^~~~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:202:5: error: invalid instruction mnemonic 'it' it ne ^~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:203:19: error: unknown token in expression orrne r0, r0, #1 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:204:13: error: unknown token in expression cmp r2, #0xff000000 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:205:5: error: invalid instruction mnemonic 'ite' ite ls ^~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:206:15: error: unknown token in expression cmpls r3, #0xff000000 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:207:15: error: unknown token in expression movhi r0, #-1 ^ /home/llvmall/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/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:220:5: error: invalid operand for instruction vmov r0, s0 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:221:5: error: invalid operand for instruction vmov r1, s1 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:224:18: error: unknown token in expression lsls r2, r0, #1 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:225:18: error: unknown token in expression lsls r3, r1, #1 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:226:14: error: unknown token in expression movs r0, #0 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:277:13: error: unknown token in expression cmp r2, #0xff000000 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:278:5: error: invalid instruction mnemonic 'ite' ite ls ^~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:279:15: error: unknown token in expression cmpls r3, #0xff000000 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:280:15: error: unknown token in expression movhi r0, #1 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:287:2: error: invalid operand for instruction vmov s0, r0 ^ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/comparesf2.S:288:2: error: invalid operand for instruction vmov s1, r1 ^ /home/llvmall/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/clangrt.builtins-armhf.dir/arm/clzsi2.S.o FAILED: lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/clzsi2.S.o /usr/local/myclang/bin/clang -DVISIBILITYHIDDEN -fno-lto -std=c11 -fPIC -fno-builtin -fvisibility=hidden -fomit-frame-pointer -fomit-frame-pointer -DCOMPILERRTARMHFTARGET -MD -MT lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/clzsi2.S.o -MF lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/clzsi2.S.o.d -o lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/clzsi2.S.o -c /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/clzsi2.S:16:2: error: unknown directive .syntax unified ^ /home/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/clangrt.builtins-armhf.dir/arm/clzdi2.S.o FAILED: lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/clzdi2.S.o /usr/local/myclang/bin/clang -DVISIBILITYHIDDEN -fno-lto -std=c11 -fPIC -fno-builtin -fvisibility=hidden -fomit-frame-pointer -fomit-frame-pointer -DCOMPILERRTARMHFTARGET -MD -MT lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/clzdi2.S.o -MF lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/clzdi2.S.o.d -o lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/clzdi2.S.o -c /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:16:2: error: unknown directive .syntax unified ^ /home/llvmall/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/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:51:2: error: invalid instruction mnemonic 'movne' movne r0, r1 ^~~~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:53:2: error: invalid instruction mnemonic 'movne' movne r1, 1 ^~~~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/clzdi2.S:54:2: error: invalid instruction mnemonic 'moveq' moveq r1, 33 ^~~~~ /home/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/llvmall/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/clangrt.builtins-armhf.dir/arm/divmodsi4.S.o FAILED: lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/divmodsi4.S.o /usr/local/myclang/bin/clang -DVISIBILITYHIDDEN -fno-lto -std=c11 -fPIC -fno-builtin -fvisibility=hidden -fomit-frame-pointer -fomit-frame-pointer -DCOMPILERRTARMHFTARGET -MD -MT lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/divmodsi4.S.o -MF lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/divmodsi4.S.o.d -o lib/builtins/CMakeFiles/clangrt.builtins-armhf.dir/arm/divmodsi4.S.o -c /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:24:2: error: unknown directive .syntax unified ^ /home/llvmall/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/llvmall/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/llvmall/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/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:46:11: error: Invalid rounding mode. push {r4-r7, lr} ; add r7, sp, #12 ^ /home/llvmall/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/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:49:5: error: invalid instruction mnemonic 'eor' eor r4, r0, r1 ^~~ /home/llvmall/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/llvmall/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/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:53:5: error: invalid instruction mnemonic 'eor' eor ip, r0, r0, asr #31 ^~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:54:5: error: invalid instruction mnemonic 'eor' eor lr, r1, r1, asr #31 ^~~ /home/llvmall/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/llvmall/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/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:58:5: error: invalid instruction mnemonic 'bl' _bl udivmodsi4 ^~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:60:5: error: invalid instruction mnemonic 'ldr' ldr r1, [r6] ^~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:61:5: error: invalid instruction mnemonic 'eor' eor r0, r0, r4, asr #31 ^~~ /home/llvmall/llvm/projects/compiler-rt/lib/builtins/arm/divmodsi4.S:62:5: error: invalid instruction mnemonic 'eor' eor r1, r1, r5, asr #31 ^~~ /home/llvmall/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/llvmall/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/llvmall/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/llvmall/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> 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/myclang/bin "/usr/local/myclang/bin/ld.lld" barehelloCLANG.o io.o -Bstatic -L/usr/local/myclang/lib/clang/8.0.0/lib/baremetal -lc -lm -lclangrt.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 -lclangrt.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 clangrt.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
LLVM Developers mailing list 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
- Previous message: [llvm-dev] Compiling for baremetal ARMv4 on Ubuntu Linux
- Next message: [llvm-dev] Compiling for baremetal ARMv4 on Ubuntu Linux
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]