[LLVMdev] Consumer ARM platform suitable for LLVM development?
deeppatel1987 at gmail.com
Thu Mar 12 19:39:47 CDT 2009
Attached is the patch I've been building arm-eabi with, which might
help with linux-gnueabi. I disable multilib to get around several bugs
with thumb. I build cross binutils first, then llvm, then llvm-gcc
with newlib merged in.
The following bugs need to be addressed for these non-Darwin ARM targets:
On Fri, Mar 13, 2009 at 12:30 AM, Misha Brukman <brukman at gmail.com> wrote:
> On Thu, Mar 12, 2009 at 6:17 AM, Dietmar Ebner <ebner at complang.tuwien.ac.at>
>> On Mar 11, 2009, at 9:44 PM, Misha Brukman wrote:
>> > The problem I've had is building an LLVM cross-compiler from Linux/
>> > x86 to Linux/ARM (as has another llvm-dev poster). Someone
>> > mentioned to me off-list that he managed to get it to build, but I
>> > haven't been able to reproduce the build using his instructions
>> > (I'll post my results in another thread).
>> I've been successfully experimenting with an arm-softfloat-linux-gnu
>> cross-compiler at the time of llvm 2.1. The easiest way to get this
>> working is to use Dan Kegel's crosstool to build a regular gcc
>> toolchain. This will give you binutils, libgcc, and glibc, which you
>> will need anyway.
> I've been trying to build for the target arm-none-linux-gnueabi, using the
> appropriate pre-built CodeSourcery toolchain, hence avoiding building my own
> gcc crosstool prior to starting building LLVM and LLVM-GCC. LLVM builds
> just fine, it's building llvm-gcc that gives me this error:
> gcc -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings
> -Wstrict-prototypes -Wmissing-prototypes -DHAVE_CONFIG_H -DGENERATOR_FILE
> -I. -Ibuild -I../../../../src/llvm-gcc4.2-2.5.source/gcc
> -I../libdecnumber -I/tmp/llvm-project/install/x86_64-arm/llvm/include
> -I/tmp/llvm-project/src/llvm-2.5/include -DENABLE_LLVM
> -I/tmp/llvm-project/install/x86_64-arm/llvm/include -D_DEBUG -D_GNU_SOURCE
> -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -o build/gencondmd.o
> ../../../../src/llvm-gcc4.2-2.5.source/gcc/config/arm/arm.md:4788: error:
> ‘MACHO_DYNAMIC_NO_PIC_P’ undeclared here (not in a function)
> This tells me there are some Darwin-specific bits in arm.md which shouldn't
> be there (MachO is Mac OS X-specific). I'm using the attached script
> llvm-arm-crosstool.sh to configure/build/install LLVM and LLVM-GCC from the
> 2.5 release. If anyone wants to try it out and see if it works for them,
> I'd love to hear their experiences.
> If any ARM/GCC experts know how to fix arm.md to not refer to
> Darwin-specific macros, that would be great, too.
>> Building llvm-gcc was relatively painless. The only problem I've
>> encountered was that my target had no hardware floating point support
>> and the endianess for the softfloat implementation (libgcc) differed
>> from integer endianess, which required some patches at the llvm side.
>> I have not checked if this is still necessary. If you run into the
>> same problems, I would be happy to share the patch (which I have
>> updated to llvm 2.4 at some point).
> I would be interested in seeing your patch, if you wouldn't mind sharing
> it. Bonus points if you have a script similar to mine above to simplify the
> entire process, or your notes/directions that I can convert into an
> easy-to-run script. :-)
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 3482 bytes
Desc: not available
Url : http://lists.cs.uiuc.edu/pipermail/llvmdev/attachments/20090313/ade9bc25/attachment.obj
More information about the LLVMdev