Subject: Re: [PATCH] Makefile: do not compile git with debugging symbols by default

From: Jeff King <[email-masked]>
Date: Thu, 22 Jan 2015 13:35:38 -0500

On Thu, Jan 22, 2015 at 06:36:41PM +0100, Matthieu Moy wrote:

> > Yes, main point is size of executable.
> 
> The Git executable is a few megabytes, i.e. 0.001% the size of a really
> small hard disk. The benefit seems really negligible to me.

I don't know the layout of the symbols with respect to the code, or
whether the stripped version might reduce memory pressure. So in theory
it could have a performance impact.

But...

> OTOH, debug information allow users to do better bug reports in case of
> crash (gdb, valgrind), which outweights by far the benefit of saving a
> handfull of megabytes IMHO.

Me too. Especially for people who are building git themselves, I feel
like leaving the symbols is a sane default. Package builders are already
using "make strip", or some feature of their package-build system (e.g.,
"dh_strip") to take care of this for the "normal" users. But
fundamentally this is a packaging issue, not a build issue.

-Peff

PS We could still add a "DEBUG" knob to the Makefile and default it to
   off. But I do not see much point. If you want to change the CFLAGS,
   then change the CFLAGS knob. It's much more flexible.