libraryopt

emBuild Software Design vendor at embuildsw.com
Tue Sep 25 16:55:31 PDT 2007


I'd like to request as a feature addition to uclibc the addition of specific 
support for libraryopt (http://libraryopt.sourceforge.net/), a tool that 
reduces shared library size by removing unneeded object files from a rebuild 
of the shared libraries... for the system i'm working on i've been able to 
cut 250 KB off the uclibc shared library files (for mips) (although it isn't 
quite working yet once loaded on the target machine).
To this end i'd be happy to send in libraryopt configuration files that i'm 
developing for uclibc and what documentation i have.
Of course, i'm sure that the uclibc developers could do it much better than I, 
and i'm not entirely happy with what i have.

There are a number of tricky points per each shared library:
-- Finding the correct "entire" set of object files from the uclibc build... 
fortunately these seem to be in archive files like libc_so.a .
-- Determining which of the object files are "required" even if there is no 
obvious dependencies on them from executables... this i'm worried about.
-- Correctly rebuilding the shared object in the same way that uclibc 
generated the shared object, minus the unneeded objects of course.
This might turn out to be somewhat target specific... ?

By turning on verbosity in the uclibc build procedure i've been able to 
determine for my system the answers to the first and third of the above (i'm 
guessing at the second) except i haven't figure out how to rebuild 
libpthread .so file yet and there is still some issue with it actually 
working on the target yet.
I verify that i'm rebuilding correctly by being able to generate a file 
identical to the original .so file when i include all of the object files.

I'd also be happy (just not quite as ecstatic) if i could get some information 
on point 2 above (which object files are "required").

Thanks!
Ted Merrill
emBuild Software Design

p.s. I had to fix one bug in libraryopt-1.0.1 , see
http://sourceforge.net/tracker/index.php?func=detail&aid=1802332&group_id=33581&atid=408752





More information about the uClibc mailing list