[LLVMdev] Building uclibc ...
sabre at nondot.org
Wed Sep 12 18:35:12 CDT 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!
More information about the LLVMdev