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