Re: libm on root-filesystem?
Hmm, Falk says the attachment is garbled, try this: ftp://rut.informatik.uni-tuebingen.de/boot-floppies/ MfG Goswin -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: libm on root-filesystem?
On Sat, Aug 04, 2001 at 04:12:41AM +0200, Falk Hueffner wrote: Adam Di Carlo [EMAIL PROTECTED] writes: Adam Di Carlo [EMAIL PROTECTED] writes: Thimo Neubauer [EMAIL PROTECTED] writes: On Wed, Jul 25, 2001 at 09:42:28PM -0400, Adam Di Carlo wrote: Thimo Neubauer [EMAIL PROTECTED] writes: Ouch. So its that libslang itself should be reduced, and based on that, the usage in libnewt should be reduced? Almost :) First libnewt needs to be reduced, then libslang and after that libm, so that only the really needed math-symbols get in :( I'll take a swipe at it. Ok, this is done in CVS. Can some people test this? Hm, I've not tested it, but in any case mklibs.sh seems to be getting more and more ugly. I've considered rewriting it in Python, using an iterative method where I simply add symbols until everything is satisfied. Shell is just not the language for such stuff. Does that look like a good idea? Would add another build dependency, but we have a gazillion already ;) Rather than writing Yet Another library optimizer, which I see you and Goswin have done, I think we should investigate some of the existing ones. I know Lineo has one (is it free?), and MontaVista has one too (which is, I believe, supposed to be free but not released yet - I'll see if I can make headway on this on Monday). -- Daniel Jacobowitz Carnegie Mellon University MontaVista Software Debian GNU/Linux Developer -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: libm on root-filesystem?
On Sun Aug 05, 2001 at 02:23:15PM -0700, Daniel Jacobowitz wrote: Rather than writing Yet Another library optimizer, which I see you and Goswin have done, I think we should investigate some of the existing ones. I know Lineo has one (is it free?), and MontaVista has one too (which is, I believe, supposed to be free but not released yet - I'll see if I can make headway on this on Monday). Lineo's one, lipo, was not free last I checked. It is written in perl. I'll double check if it has been made open yet or not, -Erik -- Erik B. Andersen email: [EMAIL PROTECTED], [EMAIL PROTECTED] --This message was written using 73% post-consumer electrons-- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: libm on root-filesystem?
Goswin Brederlow [EMAIL PROTECTED] writes: ls -l lib total 2137 -rwxr-xr-x1 root root 124160 Aug 6 06:22 ld-2.2.3.so* mklibs.py: ls -l lib total 1542 -rw-r--r--1 root root 124160 Aug 6 06:03 ld-2.2.3.so Hmm, needs to be made executable IIRC, but I'm too tired now and will go to bed. Falk -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: libm on root-filesystem?
On Mon Aug 06, 2001 at 05:56:01AM +0200, Falk Hueffner wrote: Goswin Brederlow [EMAIL PROTECTED] writes: ls -l lib total 2137 -rwxr-xr-x1 root root 124160 Aug 6 06:22 ld-2.2.3.so* mklibs.py: ls -l lib total 1542 -rw-r--r--1 root root 124160 Aug 6 06:03 ld-2.2.3.so Hmm, needs to be made executable IIRC, but I'm too tired now and will go to bed. ld indeed needs to be executable, -Erik -- Erik B. Andersen email: [EMAIL PROTECTED], [EMAIL PROTECTED] --This message was written using 73% post-consumer electrons-- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: libm on root-filesystem?
Falk Hueffner [EMAIL PROTECTED] writes: Adam Di Carlo [EMAIL PROTECTED] writes: Adam Di Carlo [EMAIL PROTECTED] writes: Thimo Neubauer [EMAIL PROTECTED] writes: On Wed, Jul 25, 2001 at 09:42:28PM -0400, Adam Di Carlo wrote: Thimo Neubauer [EMAIL PROTECTED] writes: Ouch. So its that libslang itself should be reduced, and based on that, the usage in libnewt should be reduced? Almost :) First libnewt needs to be reduced, then libslang and after that libm, so that only the really needed math-symbols get in :( I'll take a swipe at it. Ok, this is done in CVS. Can some people test this? Hm, I've not tested it, but in any case mklibs.sh seems to be getting more and more ugly. I've considered rewriting it in Python, using an iterative method where I simply add symbols until everything is satisfied. Shell is just not the language for such stuff. Does that look like a good idea? Would add another build dependency, but we have a gazillion already ;) I (nesarly) finished the python script Falk started tonight. The good news is that it sort of works, the size is a bit smaller and libm is reduced to 0 Symbols and 3K. The bad news is that even though I can chroot with those libs and run programs and all, they all segfault when done. I dunno why. I will compare the symbols included with both scripts, maybe theres something missing. I'm suspecting that its one of those special cases done for libc or some other extra case I overlooked in the mklibs.sh and thus didn't translate. Last thing to mention is the speedup. the mklibs.sh needs 6 minutes, the python variant about 30 seconds including debug output. So, who is an elf expert? What could be wrong? Anyone intrested in the code? The mklibs.py can be used instead of the mklibs.sh as it is, same arguments used. It then creates lib-so-stripped files that have to be moved to lib (or rather that what the lib link points to) manually. MfG Goswin --[[application/octet-stream; type=gzip Content-Disposition: attachment; filename=mklibs.py.gz][base64]] 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
Re: libm on root-filesystem?
On Wed, Jul 25, 2001 at 09:42:28PM -0400, Adam Di Carlo wrote: Thimo Neubauer [EMAIL PROTECTED] writes: Ouch. So its that libslang itself should be reduced, and based on that, the usage in libnewt should be reduced? Almost :) First libnewt needs to be reduced, then libslang and after that libm, so that only the really needed math-symbols get in :( How many bytes are needed for alpha, exactly? Right now the size of root.bin is 1717580 bytes :( I put all my hope in getting libm to shrink because its size is 577440 bytes (uncompressed)[1] and 303227 bytes in compressed form (gzip --best on the file). Now if we just substract that from the above we would have a compressed root of 1414353 bytes :) Ok, this is a very coarse estimation but it could work out... I'd very much like to proove this by manually getting a very-much-reduced libm on the disks but haven't figured out the right commandline to build a reduced lib (spying in mklibs.sh isn't very enlighting ...). Could anyone tell me how to do this? Maybe this could at least help to get out manually-prepared-Alpha-bootdisks to get some testing on them going. CU Thimo [1] the unreduced libm is 665710 bytes big which made me wonder in the first place :) -- Thimo Neubauer [EMAIL PROTECTED] Debian GNU/Linux 3.0 semi-frozen! See http://www.debian.org/ for details PGP signature
Re: libm on root-filesystem?
On Thu, 26 Jul 2001 10:45:54 +0200 Thimo Neubauer [EMAIL PROTECTED] wrote: Right now the size of root.bin is 1717580 bytes :( I put all my hope in getting libm to shrink because its size is 577440 bytes (uncompressed)[1] and 303227 bytes in compressed form (gzip --best on the file). Now if we just substract that from the above we would have a compressed root of 1414353 bytes :) Ok, this is a very coarse estimation but it could work out... [1] the unreduced libm is 665710 bytes big which made me wonder in the first place :) What about compiling some stuff against uclibc, i started looking into as shown below, downside is i dont know if uclibc can be reduced with mklib.sh, and uclibc is still a work in progress. I guess it would have to be an all or nothing situation, uclibc or glibc... slang compiles cleanly against uclibc, didnt test its functionality though. 397169 libslang.so.1.4.4 (glibc) 337944 libslang.so.1.4.4 (uclibc) So as a shared object it is smaller, this is its dependencies. (glibc) ldd /lib/libslang.so.1.4.4 libm.so.6 = /lib/libm.so.6 /lib/ld-linux.so.2 = /lib/ld-linux.so.2 (uclibc) ldd ./libslang.so.1.4.4 libdl.so.0 = /usr/i386-linux-uclibc/usr/lib/libdl.so.0 ld-uClibc.so.0 = /usr/i386-linux-uclibc/usr/lib/ld-uClibc.so.0 ldd /usr/i386-linux-uclibc/usr/lib/libdl.so.0 libc.so.0 = /usr/i386-linux-uclibc/usr/lib/libc.so.0 ld-uClibc.so.0 = /usr/i386-linux-uclibc/usr/lib/ld-uClibc.so.0 uclibc has its own libm, but when compiled against uclibc it doesnt seem to be linking to it. (im no expert on libraries, what did i miss?) here is the size of unstriped uclibc libraries, in gziped and normal state 100627 ld-uClibc-0.9.5.so 33443 ld-uClibc-0.9.5.so.gz 30321 libdl-0.9.5.so 10763 libdl-0.9.5.so.gz 841837 libuClibc-0.9.5.so 186411 libuClibc-0.9.5.so.gz 502033 libm-0.9.5.so 169196 libm-0.9.5.so.gz the striped glibc libraries from the i386 boot disks are 654380 libc-2.2.3.so 278492 libc-2.2.3.so.gz 129252 libm.so.6 55092 libm.so.6.gz So it may not matter if uclibc isnt striped If its worth consideration i could look into it further, perhaps try and put together a handmade i386 root disk using uclibc. Glenn PGP signature
Re: libm on root-filesystem?
I hate do do a self-reply but I tracked down the problem further: libslang needs all mathmatical functions on earth, because it provides wrappers for all of them. libnewt instead just needs a few of slangs functions, not including a math-function at all. Unfortunately the library reduction seems to only to see that there are unresolved symbols in libslang and includes all the math-stuff which is wrong because thos routines needing the math will be kicked out anyway (I checked this with objdump on the reduced libslang). Anyone able to teach the library reduction about this case? I do not dare after I read parts of the script... CU Thimo -- Thimo Neubauer [EMAIL PROTECTED] Debian GNU/Linux 3.0 semi-frozen! See http://www.debian.org/ for details PGP signature