From: C. Andy Martin (andy_at_[hidden])
Date: 2004-11-29 11:50:42
Rene Rivera wrote:
> C. Andy Martin wrote:
>>Rene Rivera wrote:
>>>Similar results on my code... Which I forgot to mention. Don't have
>>>exact figures with me at this time... But the size difference between
>>>debug (which has all the symbols for me) and release (which removes all
>>>symbols except the dllexport ones) is more than 80%.
>>If we could strip out unneeded symbols (symbols which don't need to be
>>referenced by other modules) it seems you could really shrink the size
>>of the dynamic table.
> That's what I'm saying I do... I have custom build steps for release
> that allow me to mark the dllexport symbols for the SOs that I build.
> Everything else, except external dependences, is striped.
> ...More specifically I mark almost everything as private in the ELF
> objects and relink to get all those private symbols removed. I don't do
> that in the debug so I can do symbolic debugging :-) And the regular
> link tools, as you mention only strip the static symbols.
Oh...that's very slick! Sorry, somehow I didn't catch onto that from the
first post. Maybe I'll implement this someday in my project...except
with Boost.Python I have no idea which symbols need to be exported
(which, of course, my python extension is the largest shared object).
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk