[LLVMdev] Building uclibc ...

Chris Lattner sabre at nondot.org
Wed Sep 12 16:35:12 PDT 2007


On Wed, 12 Sep 2007, Dound wrote:
> I am trying compile a libc with llvm (currently uclibc).  I am able to
> compile uclibc by changing the Rules.mak to use llvm-gcc, llvm-ar, llvm-ad,
> and not using strip.  (I also use the --emit-llvm flag for llvm-gcc).  When
> I run llvm-nm on libc.a (or try to use libc.a) I run into problems.  For
> example, strlen is not defined -- llvm-nm shows that strlen.os has
> __GI_strlen while if I compile with the "normal" tools (gcc, ar, ...)
> strlen.os has __GI_strlen as well as strlen listed (both have the symbol
> value 00000000).
>
> Any ideas why the archive I create with llvm doesn't define the strlen (and
> most other) symbols but does define the __GI_strlen?

Can you paste the output of nm for the native GCC version?  It's possible 
that uclibc is using aliases for these, and it seems very likely that 
llvm-nm just isn't printing aliases at all.  Anton, do you want to see if 
llvm-nm should be extended by this?

> I'm sure it is obvious by now, but I am pretty new to LLVM -- thanks in
> advance for your help and time!

Happy to help!

> PS.  Also, out of curiosity, was someone able to successfully compile all or
> part of glibc?  I saw it was on the open projects page a few years ago
> (thanks to the old CVS data) but could not find the revision in which it was
> removed from that list.  I suspect that because it was removed, perhaps
> someone else has figured it out and I could see what they did and try to
> compile it myself?

I don't know of anyone who has tried.  If you try it and run into bugs, 
please file bugzilla entries!

-Chris

-- 
http://nondot.org/sabre/
http://llvm.org/



More information about the llvm-dev mailing list