Re: git binary size...
From: Andreas Ericsson <hidden>
Date: 2016-06-15 22:42:16
Coywolf Qi Hunt wrote:
2006/1/12, Linus Torvalds [off-list ref]:quoted
On Wed, 11 Jan 2006, Andreas Ericsson wrote:quoted
strip: strip $(PROGRAMS) install: stripWell, 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