Subject: Re: CFLAGS
To: None <tech-kern@NetBSD.org>
From: Andrew Doran <ad@netbsd.org>
List: tech-kern
Date: 11/10/2007 17:39:37
On Sat, Nov 10, 2007 at 04:35:30PM +0100, Bernd Ernesti wrote:
> On Sat, Nov 10, 2007 at 03:08:07PM +0000, Steven M. Bellovin wrote:
> > On Sat, 10 Nov 2007 14:48:30 +0000
> > David Laight <david@l8s.co.uk> wrote:
> [..]
>
> > > Which actually bets the question of the sanity of having two files.
> > > (Yes, you may want to strip some non-loadable info for small systems,
> > > but in general you don't need to worry that much.)
> > >
> > Agreed. If there's no run-time hit from the version with symbols, why
> > strip them by default?
>
> Because, as mentioned in another thread recently, not all systems support
> booting such a big kernel.
>
> And it can make a different for existing systems when you don't have a
> big root file system. I wouldn't be able to have more then one kernel on my
> system, because there is no need for a 30 MB kernel and therefor / isn't
> so big to keep two.
Agreed. There is also a cost for the project to add many more megabytes to
the distribution.
Having someone send you a large custom kernel with full symbols like line
number information, etc is kind of useless: you may not have the source tree
and most of the info is superflous. In a previous job I spent many boring
hours debugging with crashdumps on a system that provides debug info for the
common structures in the kernel, like struct proc. Having those around was
incredibly useful but I never missed having line number information or
symbols for random drivers, for that there was always the disassembler.
That's why my suggestion was to provide a limited collection of debug info.
Thanks,
Andrew