Time to stop stripping binaries?

Giorgos Keramidas keramida at ceid.upatras.gr
Tue Jun 22 09:20:46 UTC 2010


On Thu, 17 Jun 2010 23:35:21 +0200, Max Laier <max at love2party.net> wrote:
> On Thursday 17 June 2010 22:33:34 M. Warner Losh wrote:
>> Greetings,
>>
>> Now that disks are big, can we stop stripping binaries by default?
>>
>> I've worked up a patch that lets you set WITH_BINARY_SYMBOLS or
>> WITHOUT_BINARY_SYMBOLS as you see fit.  We should commit it regardless
>> of the outcome of this discussion (well, defaulting to yes or no
>> depending on the outcome).
>>
>> Why symbols: it makes core dumps easier to debug.
>> Why no symbols: makes the system footprint bigger.
>>
>> Since there's good arguments both ways, I thought I'd make this a
>> knob.
>>
>> Comments?
>
> My vote is with symbols in current and stable, without in releases -
> by default.  i.e. everything people build at home from an unknown repo
> state should have symbols, everything we "ship" can be reproduced if
> needed.

I've been running CURRENT with DEBUG_FLAGS=-ggdb in make.conf for a long
time.  It helps a *lot* when there is a core dump to have symbols in all
the system libraries and binaries:

    root at kobe:/root# nm /bin/ls | grep ' [TDB] [[:alpha:]]' | head -3
    08049760 T acccmp
    0804e42c B ansi_bgcol
    0804e400 B ansi_coloff
    ...

I'm definitely in favor of making DEBUG_FLAGS=-ggdb on CURRENT and
STABLE, but there's probably a small catch we have to consider: What to
do about freebsd-update that crosses the boundary from -RELEASE to
one of the -STABLE snapshots.  If there are no hidden gotchas about
running a system that is half-release/half-stable, then we should be
fine.  But it may be a good idea to update *all* the binaries at the
crossing point, so that people don't have a base installation that only
includes debug symbols for a small subset of the binaries.



More information about the freebsd-arch mailing list