Dear buildroot list.

Rob Landley rob at landley.net
Sun Oct 16 06:08:36 UTC 2005


On Sunday 16 October 2005 00:32, Mike Frysinger wrote:
> On Friday 14 October 2005 04:02 pm, Rob Landley wrote:
> > Sorry to ask a uClibc question on the buildroot list, but I don't know
> > where else to go.
>
> uClibc list is the place to go for buildroot atm ;)

I don't suppose forking off a buildroot list is an option?

> > Unfortunately, gcc 4.0 contains a package "libmudflap" which is A) evil,
> > B) totally undocumented.  Even google can't tell me what this thing does
> > or whether I actually need it.  All I know is it breaks the build.
>
> here's a pdf i found a while back:
> http://dev.gentoo.org/~vapier/mudflap.pdf

Ah, it's yet another electric fence clone.

> in theory it's actually a pretty good idea ... even better in that it'd be
> part of the official gnu toolchain

Um, valgrind?

> either way, buildroot should have it disabled for uclibc targets ...

I'm basically getting 4.0.2 to compile against uclibc by ripping it a new one 
with sed.

And I got past this last night.  I ripped the symbol out of libmudflab with 
sed, and then I hit the _next_ bug (one of the libraries gcc produces wants 
the symbol "__libc_stack_end"), and found that the Linux From Scratch guys 
had hit this before me:

http://www.linuxfromscratch.org/patches/hlfs/svn/uClibc-0.9.28-libc_stack_end-1.patch

I'm also told this is not the correct fix.  But it worked, and got me to the 
point where I have an installed compiler toolchain actually seeming to do 
what I expect of it.

So it's now building, doing the whole LFS chapter 5 thing based on uclibc.  
And now my problem now is that trying to add a --exclude option to busybox 
last night (which is needed to use busybox tar during uClibc 0.9.28's install 
phase), I broke busybox tar.  Completely, it can't eve do "tar tvjf 
thing.tbz" anymore, and I have _no_idea_ why.  And the documentation for 
bb_getopt_ulflags() comes from Vladimir, who only speaks russian and 
communicates with the busybox mailing list via a babelfish derivative.

So after giving up on the documentation (bad case of babelfish poisoning), I'm 
spending the evening reading the bb_getopt_ulflags() source code, the gnu 
getopt_long man page, and so on....

> > So I install uClibc (0.9.27, I still need to upgrade busybox tar to
> > understand the "--exclude" option before 0.9.28's headers will install),
> > re-run the thing, and now it's complaining it can't find dl_iterate_phdr:
> >
> > /home/landley/newbuild/firmware-build/tools/sources/gcc-build/gcc/libgcc_
> >s. so: undefined reference to `dl_iterate_phdr'
>
> weird ... when do you hit this error ? during the gcc stage1, gcc stage2,
> or the cross-compiled native compiler ?

I'm hitting it on the head with 'sed' to change paths (since I also need to 
tell it everything lives in the /tools directory, I might as well tell it 
about uClibc the same way), and then doing "make quickstrap" because I just 
want it to build _once_.  My LFS chapter 6 equivalent is already going to 
rebuild the compiler with the Chapter 5 one, so that's 2 builds.  The third 
build is sheer paranoia.

> > Why was it removed from uClibc? This is not something upgrading to 0.9.28
> > is likely to fix because according to subversion the symbol is still
> > missing. Should I just try to chop it out of the source code?
>
> it's in 0.9.27 and 0.9.28 so it really wasnt removed

Then why does this say it was ripped out 13 months old?  Did I miss it being 
re-added?

http://www.uclibc.org/cgi-bin/viewcvs.cgi?rev=9216&view=rev

That's September 2004.  0.9.27 was released January 2005, and 0.9.28 was 
August 2005.

> -mike

Rob



More information about the uClibc mailing list