[PATCH] misc size-shrinkage; merges

Bernhard Fischer rep.nop at aon.at
Tue Aug 29 20:28:59 UTC 2006


On Tue, Aug 29, 2006 at 04:22:03PM -0400, Rob Landley wrote:
>On Monday 28 August 2006 8:07 pm, Bernhard Fischer wrote:
>> On Tue, Aug 29, 2006 at 01:57:25AM +0200, Bernhard Fischer wrote:
>> >On Sun, Aug 20, 2006 at 04:48:06PM -0400, Rob Landley wrote:
>> >>On Sunday 20 August 2006 8:31 am, Bernhard Fischer wrote:
>> >>> On Fri, Aug 18, 2006 at 11:49:01PM -0400, Rob Landley wrote:
>> >>> >On Friday 18 August 2006 11:53 am, Bernhard Fischer wrote:
>> >>> >> Hello,
>> >>> >> 
>> >>> >> Just a heads up..
>> >>> >> I plan to push the below patchset (split-up, of course) into my
>> >>> >
>> >>> >Yes please.  (Reviewing 4000 lines at once ain't fun.)
>> >>> >
>> >>> >> 'busybox_scratch' branch soonish, then merge that branch back into
>> >>> >> trunk.
>> >
>> >I merged most of the lingering changes off the busybox_scratch branch
>> >back into trunk in r16009.
>> >
>> >A few notes.
>> >
>> >I mean to merge (parts of) trunk back into my branch.
>> >There are, however, severe defects on current trunk;
>> >
>> >1) trunk is b0rk
>> >This config (off IRC, tell me if it went offline when you happen to read
>> >this) fails basic tests. http://rafb.net/paste/results/XtWePX12.html
>> 
>> Saved here: http://busybox.net/~aldot/bb/busybox.config.Breeze
>
>I copied that .config into my directory, did a make clean, and a make 
>oldconfig.  The oldconfig prompted me for a couple screens worth of things, I 
>don't know why.

Easiest way is to cp that .config and make menuconfig -> save and exit
>
>Ok...  Odd.
>
>I've simplified it to:
>
>echo "a=b" | ./busybox cut -d'=' -f2 | cat
>
>Which works when you don't have the | cat on the end, but doesn't when you do.  
>Why is cut caring about whether or not its output has been redirected?  And 
>why is this configuration dependent?  Well, it's only a 332 line applet, 
>let's see...
>
>Something screwing up printf, and it's doing so fairly early in the process.  
>It's not closing fd 1, if I write(1,"blah",4) it goes out, but printf() does 
>not.  Hmmm.  Well, if it's config dependent let's see what the config 
>difference is...
>
>You've switched off verbose usage, the installer, locale support, suid, you're 
>building statically, you yanked susv2...  Locale, suid, and static are the 
>three biggies, let's try defconfig with those...  Nope, that's not 
>reproducing it.  Static linking?
>
>Wow.  It's _static_linking_ that's doing it.  Ok, that's just ODD.  Lemme try 
>this with my uClibc cross compiler...
>
>And the problem does not reproduce with uClibc!
>
>You say one of the commits since you forked your tree produced this?  When did 
>you fork your tree?

15642 was the branch-point
>
>> >Failing use-case: echo `echo a=b | cut -d'=' -f2`
>> 
>> Note that trunk r16008 (i.e. before i checked in my cleanup/shrinkage)
>> to cut does also fail the above case. I did not look what broke this,
>> though. HTH
>
>Possibly upgrading glibc?

Don't think so, but didn't try.
>
>I can reproduce this, but it's _weeeeeird_.  I'll see if I can track down what 
>exactly we're doing that's perturbing statically linked glibc (this problem 
>isn't occurring with a statically linked "hello world"), but I've spent about 
>as much time tracking it down as I've got right now.  Maybe this evening...
>
>It might be something we're doing with our linker flags, but alas the current 
>build system is too brain-damaged to extract them easily:

It _is_ easy:
make V=2
>
>landley at driftwood:~/busybox/busybox$ rm busybox
>landley at driftwood:~/busybox/busybox$ make V=1
>make -C /home/landley/busybox/busybox \
>        top_srcdir=/home/landley/busybox/busybox \
>        top_builddir=/home/landley/busybox/busybox \
>        BUILD_SRC=/home/landley/busybox/busybox \
>        -f /home/landley/busybox/busybox/Makefile _all
>cp busybox_unstripped busybox
>strip -s --remove-section=.note --remove-section=.comment busybox
>
>That's just too useful for words.



More information about the busybox mailing list