[LLVMdev] Consumer ARM platform suitable for LLVM development?

Sandeep Patel deeppatel1987 at gmail.com
Thu Mar 12 17:39:47 PDT 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:
1388
2313
2545
2985

deep

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>
> wrote:
>>
>> 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../../../../src/llvm-gcc4.2-2.5.source/gcc/build
> -I../../../../src/llvm-gcc4.2-2.5.source/gcc/../include
> -I../../../../src/llvm-gcc4.2-2.5.source/gcc/../libcpp/include
> -I../../../../src/llvm-gcc4.2-2.5.source/gcc/../libdecnumber
> -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
> build/gencondmd.c
>
> ../../../../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.  :-)
>
> Thanks,
> Misha
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix_apples_bugs.diff
Type: application/octet-stream
Size: 3483 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090313/ade9bc25/attachment.obj>


More information about the llvm-dev mailing list