Re: git binary size...
From: Coywolf Qi Hunt <hidden>
Date: 2016-06-15 22:42:16
2006/1/12, Linus Torvalds [off-list ref]:
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 /lib/libext2fs.so.2: symbolic link to `libext2fs.so.2.4' gemini:~> file /lib/libext2fs.so.2.4 /lib/libext2fs.so.2.4: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped In gdb: No symbol table is loaded. Use the "file" command. (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. So I suggest to let git go with `-g and striped' like all other packages do. And if we use gnu autoconf, which provides site config ability, we could easily get (1) "-g, striped" for distros, (2) "not striped" for Linus and (3) "-g3, -O0, no striped" for some git developers. To make git not tight to Linux, but cross platform, consider autoconf.
With non-stripped binaries you can at least see the function the SIGSEGV happened in, and you usually even get a half-way decent backtrace etc.
False, see above.
Linus
If I missed something in Debian, correct me. -- Coywolf Qi Hunt