I forgot to mention, I stripped all of the files, and in this
case the "embedded" system is a phone (Android) which
is size constrained because of limited flash memory but
does have many executables so shared libraries are the

On Tue, Apr 21, 2009 at 9:02 AM, Anonymous-ish <s...@chittenden.org> wrote:

> > Below is the data I collected. I decided not to do static linking
> > as it wouldn't be helpful for a size constrained system.
> ... curious, but okay.  Unnecessary/unresolved symbols and their
> associated instructions won't be included in the final resulting
> binary, so unless your embedded app does a lot of fork(2)/exec(2) and
> benefits from using shared pages, I don't understand why it wouldn't
> be helpful.  Did you at least try stripping the binary to see how much
> of the output was debugging information?  Surely an embedded app would
> ship with that information removed.  The size of C++'s debugging
> information is impressive and not to be understated.  For example:
> % /usr/local/bin/g++43 -g ${CXXFLAGS} ${WFLAGS} -o foobin.debug $
> {FOOBIN_OBJS} lib/libprotobuf.a -static
> % cp foobin.debug foobin.strip
> % strip -s foobin.strip
> % du -h foobin.debug foobin.strip
>  10M    foobin.debug
> 2.0M    foobin.strip
> % size foobin.strip foobin.debug
>    text    data     bss     dec     hex filename
> 1879465   19764  160760 2059989  1f6ed5 foobin.strip
> 1879465   19764  160760 2059989  1f6ed5 foobin.debug
> Cheers.
> >

You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to protobuf@googlegroups.com
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to