Christophe Lyon
2014-Dec-10 15:32 UTC
[LLVMdev] [Compiler-rt] -march=aarch64 flag in gcc/clang
On 10 December 2014 at 16:06, Renato Golin <renato.golin at linaro.org> wrote:> Hi Sumanth, > > Christophe (cc'd) is seeing the same problems on his build. It seems > that r181130 (by Tim) has something to do with it, but I'm not sure. > > I remember trying to build compiler-rt on AArch64 natively in > February, and even running the test-suite with it, so I'm sure it > should work (modulo regressions). >Removing compiler-rt from projects sources enables cmake step to succeed. The error message is: [...] CMake Error at projects/compiler-rt/cmake/config-ix.cmake:87 (message): Cannot compile for aarch64: [...] Building CXX object CMakeFiles/cmTryCompileExec4274316732.dir/simple.cc.o /usr/bin/c++ -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wno-comment -std=c++11 -ffunction-sections -fdata-sections -march=aarch64 -o CMakeFiles/cmTryCompileExec4274316732.dir/simple.cc.o -c /home/christophe.lyon/LLVM-sanitizers/build-cmake/CMakeFiles/simple.cc /home/christophe.lyon/LLVM-sanitizers/build-cmake/CMakeFiles/simple.cc:1:0: error: unknown value 'aarch64' for -march Not sure what r181130 is supposed to do, though, since it introduces a buggy option.> We desperately need a full buildbot on AArch64, but we also need to > common up all docs, especially the one in the sanitizer's page, since > they're not following what the rest of the LLVM community is doing, > ie. building all in one tree. >I should also mention that the doc at http://clang.llvm.org/get_started.html should be updated since it seems that configure is deprecated in favor of cmake. Christophe.> cheers, > --renato > > On 1 December 2014 at 22:42, Gundapaneni, Sumanth <sgundapa at quicinc.com> wrote: >> Hi, >> >> I wonder if this is a valid flag in either clang/gcc. >> >> The flag in question is “-march=aarch64”. I verified with latest tip and >> neither clang nor gcc fail to recognize this flag. >> >> This piece of code is in cmake/config-ix.cmake in compiler-rt repo. >> >> >> >> + elseif("${COMPILER_RT_TEST_TARGET_ARCH}" MATCHES "aarch64") >> >> + test_target_arch(aarch64 "-march=aarch64") >> >> >> >> Anyone have any thoughts or any suggestions ? Currently this is blocking my >> compiler-rt build for aarch64-linux. >> >> >> >> --Sumanth G
Tim Northover
2014-Dec-10 16:02 UTC
[LLVMdev] [Compiler-rt] -march=aarch64 flag in gcc/clang
> Not sure what r181130 is supposed to do, though, since it introduces a > buggy option.I didn't even have compiler-rt checked out when I was doing that; I was just trying to get the base check-all working. As I recall that option filtered through to some llvm-lit config files. Though it might have been a .inc header. Cheers. Tim.
Gundapaneni, Sumanth
2014-Dec-16 20:12 UTC
[LLVMdev] [Compiler-rt] -march=aarch64 flag in gcc/clang
The point here is, if you are not building for Android. You will hit this patch with cmake configuration -DCOMPILER_RT_TEST_TRIPLE=aarch64-linux-gnu + elseif("${COMPILER_RT_TEST_TARGET_ARCH}" MATCHES "aarch64") + test_target_arch(aarch64 "-march=aarch64") I don't see "-march=aarch64" is a valid flag on either LLVM or GCC. Should we replace this with a flag which is valid for only aarch64 and works for both LLVM and GCC ? If the compiler-rt build works for others, I would like to see their cmake recipe ? --Sumanth G -----Original Message----- From: Tim Northover [mailto:t.p.northover at gmail.com] Sent: Wednesday, December 10, 2014 8:02 AM To: Christophe Lyon Cc: Renato Golin; Gundapaneni, Sumanth; llvmdev at cs.uiuc.edu; Kostya Serebryany Subject: Re: [Compiler-rt] -march=aarch64 flag in gcc/clang> Not sure what r181130 is supposed to do, though, since it introduces a > buggy option.I didn't even have compiler-rt checked out when I was doing that; I was just trying to get the base check-all working. As I recall that option filtered through to some llvm-lit config files. Though it might have been a .inc header. Cheers. Tim.
Maybe Matching Threads
- [LLVMdev] [Compiler-rt] -march=aarch64 flag in gcc/clang
- [LLVMdev] [Compiler-rt] -march=aarch64 flag in gcc/clang
- [LLVMdev] [Compiler-rt] -march=aarch64 flag in gcc/clang
- LLVMTargetMachine with optimization level passed from clang.
- LLVMTargetMachine with optimization level passed from clang.