[RFC] build system replacement

Bernhard Fischer rep.dot.nop at gmail.com
Tue Jun 3 21:02:43 UTC 2008


On Tue, Jun 03, 2008 at 05:54:50PM +0200, Denys Vlasenko wrote:
>On Tuesday 03 June 2008 16:45, Bernhard Fischer wrote:
>> On Tue, Jun 03, 2008 at 04:27:41PM +0200, Denys Vlasenko wrote:
>> >On Tuesday 03 June 2008 15:18, Bernhard Fischer wrote:
>> >> On Tue, Jun 03, 2008 at 11:36:21AM +0200, Bernd Schmidt wrote:
>> >> > There appears to be one additional problem.  Sometimes I get the  
>> >> > following cycle:
>> >> >
>> >> > bernds at beaker /local/src/uclibc/bernds/uClibc $ make
>> >> > make[1]: `conf' is up to date.
>> >> >  STRIP -X --strip-debug -R .note -R .comment lib/libpthread.a
>> >> >   AR cr lib/libpthread.a
>> >> 
>> >> yea, that doesn't make sense to me. First create the archive,
>> >> then strip it.
>> >
>> >I don't think it will work. strip can't operate on .a files.
>> 
>> really?
>> $ for i in $(seq 1 3);do echo "int i$i=$i;" | gcc -g3 -xc -o foo$i.o -c -;done
>> $ ar cr bar.a foo?.o
>> $ ls -als bar.a
>> 16 -rw-r--r-- 1 b b 12454 2008-06-03 16:43 bar.a
>> $ strip -x bar.a ; echo $?
>> 0
>> $ ls -als bar.a
>> 4 -rw-r--r-- 1 b b 2230 2008-06-03 16:43 bar.a
>> 
>> Sounds like a bit like it would work fine, no?
>
>Wow :) I didn't expect it to work. :)
>
>But the rest of what I said I know for sure. Look:
>I touch libm/w_sqrt.c and run make:
>
>  CC libm/w_sqrt.o
>  STRIP -x -R .note -R .comment lib/libm.a
>  AR cr lib/libm.a
>
>I touch libm/w_sqrt.c and run make V=1:
>
>gcc -c libm/w_sqrt.c -o libm/w_sqrt.o -include ./include/libc-symbols.h -Wall ...
>install -d lib/
>rm -f lib/libm.a
>strip -x -R .note -R .comment libm/e_acos.o libm/e_acosh.o libm/e_asin.o ... libm/llrintf.o
>ar cr lib/libm.a libm/e_acos.o libm/e_acosh.o libm/e_asin.o ... libm/llrintf.o
>
>See? strip is run on .o files, not .a file.

I have a simpler fix pending than bernd's (and my follow-up) that i will test tomorrow
evening (didn't have time this evening and should call it a day now, sorry).

>"STRIP -x -R .note -R .comment lib/libm.a" line is lying.

yea I know. We will trick this into just saying "STRIP" or (if anything
else and if we just strip dbg-info "STRIP-dbg").



More information about the uClibc mailing list