Re: git binary size...
- From
Andreas Ericsson <ae@op5.se>
- Date
- Jan 12, 2006, 13:49 UTC
- Message-ID
- <43C65E70.7090702@op5.se>
- In-Reply-To
- <2cd57c900601120215pdb5da27l@mail.gmail.com>
Coywolf Qi Hunt wrote:
Show 39 quoted lines
> 2006/1/12, Linus Torvalds <torvalds@osdl.org>: > >> >>On Wed, 11 Jan 2006, Andreas Ericsson wrote: >> >>>strip: >>> strip $(PROGRAMS) >>> >>>install: strip >> >>Well, that ends up shaving some more from the binaries, but at a much >>bigger cost than just removing "-g". >> >>With stripped binaries, you can't really do _anything_. You get a >>core-file, and you're screwed. > > > Are you sure? > > gemini:~> file `which mke2fs` > /sbin/mke2fs: ELF 32-bit LSB executable, Intel 80386, version 1 > (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), > stripped > > gemini:~> file /lib/libext2fs.so.2.4 > /lib/libext2fs.so.2.4: ELF 32-bit LSB shared object, Intel 80386, > version 1 (SYSV), stripped > > (gdb) bt > #0 0xb7f16445 in ext2fs_mark_generic_bitmap () from /lib/libext2fs.so.2 > #1 0xb7f110ed in ext2fs_reserve_super_and_bgd () from /lib/libext2fs.so.2 > #2 0xb7f18353 in ext2fs_initialize () from /lib/libext2fs.so.2 > #3 0x0804b461 in ?? () > #4 0xbf84b9ad in ?? () > #5 0x00000000 in ?? () > > So with stripped binary, I still get the backtrace to locate the buggy > function. IMO, Debian packages are build with -g. >
No, you don't. The last three stack-frames resolve to no symbol. Libraries always contain symbol names. You wouldn't be able to use them if they didn't, because the dynamic linker uses those symbols to look up the address of the function to call.
> > To make git not tight to Linux, but cross platform, consider autoconf. >
git is already fairly portable without the autoconf hackery. It's easy enough to move some of the conditional stuff out of the Makefile without autoconf, but it would still require GNU Make, so there's no real point in doing so.
-- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231