[cfe-dev] How to compile Clang for ARM Linux on x86_64 Linux?

Renato Golin renato.golin at linaro.org
Wed Oct 2 00:52:05 PDT 2013


Sorry Anton,

By rebuilding it again, I hit a similar bug while linking llvm-tblgen (for
ARM):

FAILED: : && /home/rengolin/devel/llvm/install/bin/clang++   -target
armv7a-linux-gnueabihf -mcpu=cortex-a9
-I/usr/arm-linux-gnueabihf/include/c++/4.7.3/arm-linux-gnueabihf/
-I/usr/arm-linux-gnueabihf/include/ -mfloat-abi=hard -ccc-gcc-name
arm-linux-gnueabihf-gcc -I/home/rengolin/devel/llvm/arm/root/usr/include
-Wno-c99-extensions -Wall -W -Wno-unused-parameter -Wwrite-strings
-Wmissing-field-initializers -pedantic -Wno-long-long
-Wcovered-switch-default -Wnon-virtual-dtor -fcolor-diagnostics -fno-rtti
-O3 -DNDEBUG
 -L/home/rengolin/devel/llvm/arm/root/usr/lib/arm-linux-gnueabihf
utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmMatcherEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterInst.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/CallingConvEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeEmitterGen.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenDAGPatterns.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenInstruction.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenMapTable.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenRegisters.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenSchedule.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenTarget.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherGen.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcher.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/DisassemblerEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/FastISelEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/FixedLenDecoderEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/InstrInfoEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/IntrinsicEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/OptParserEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/PseudoLoweringEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/RegisterInfoEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/SetTheory.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/SubtargetEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/TGValueTypes.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/TableGen.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86DisassemblerTables.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86ModRMFilters.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86RecognizableInstr.cpp.o
utils/TableGen/CMakeFiles/llvm-tblgen.dir/CTagsEmitter.cpp.o  -o
bin/llvm-tblgen -L/usr/lib/gcc/x86_64-linux-gnu/4.7  -L/lib64
lib/libLLVMTableGen.a lib/libLLVMSupport.a -lrt -ldl -ltinfo -lpthread -lz
-lpthread -lz && :

lib/libLLVMSupport.a: could not read symbols: File format not recognised

Note the " -L/usr/lib/gcc/x86_64-linux-gnu/4.7  -L/lib64" arguments that
should not have been there.

I'm not sure why Clang is adding them, but this is clearly wrong, and may
be the reason why clang believes the symbols are not recognized.

cheers,
--renato




On 2 October 2013 06:26, Anton Smirnov <dev at antonsmirnov.name> wrote:

> Anyone?
>
>
> 2013/9/30 Anton Smirnov <dev at antonsmirnov.name>
>
>> I've tried to make using cmake & ninja from scratch - the same linking
>> error. Both configurations (host and target) were done with
>> -DLLVM_ENABLE_PIC=False flag.
>>
>> What can i do? Can some one compile it in his dev environment please?
>>
>>
>> 2013/9/30 Renato Golin <renato.golin at linaro.org>
>>
>>> On 30 September 2013 08:23, Tim Northover <t.p.northover at gmail.com>wrote:
>>>
>>>> > I don't remember the particular manifestation, but it might be what's
>>>> > causing your problem.
>>>>
>>>> Do you remember if there was a bug report about it?
>>>> R_ARM_THM_MOVW_ABS_NC didn't turn anything up in bugzilla.
>>>>
>>>
>>> Hum.... I remember "wanting to create a bug", and even putting it down
>>> on my TODO list, but I don't remember if I actually did it. :(
>>>
>>> I'll try to reproduce it again and will report.
>>>
>>> cheers,
>>> --renato
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20131002/b2b07c57/attachment.html>


More information about the cfe-dev mailing list