6.0R GENERIC makeoptions DEBUG=-g
rwatson at FreeBSD.org
Mon Nov 14 11:49:42 GMT 2005
On Mon, 14 Nov 2005, Simon Ironside wrote:
> /sys/i386/conf/GENERIC has this line uncommented - is this on purpose? I
> commented it out before building a new kernel.
> makeoptions DEBUG=-g
This was by accident, but actually isn't a bad idea. We discovered the
problem at the last minute, after the 6.0-R builds had completed, and as
they were rsyncing to mirrors. After thinking about it for a few minutes,
we decided that actually, it has some nice benefits that made it worth not
rebuilding and re-mirroring. If we were earlier in the release cycle, we
might have changed the setting, however.
We identified a few specific upsides and downsides:
Good: We now have debugging symbols easily available and widely accessible
for the GENERIC kernel shipped with the release. This makes it much
easier for developers to debug problems using that kernel, as we no longer
need to ask end-users to build a kernel with debugging symbols, etc, in
order to debug a problem. Especially for a .0 release, this is a very
useful, and has presented a problem in previous releases.
Bad: Kernel build times are now significantly slower, and required space
to build a kernel significantly larger by default.
We'll see how it settles out -- CPUs are a lot larger, and disks a lot
bigger than they used to be. The kernel is stripped of debugging symbols
before it is installed, so this is only potentially a problem on systems
that already have enough space to hold source, builds, etc, and doesn't
affect systems where the kernel is installed but not built. I.e., this
doesn't affect the footprint for embedded systems, or systems where a
kernel is built centrally and then distributed.
My recommendation would be to leave -g in unless you know that the added
build time and disk space for the build process will be a problem for you.
Hopefully you don't ever run into any problems requiring debug symbols,
but if you do it will probably save you some time and hassle, especially
if it's a problem that occurs once every six months, in which case
rebooting with a kernel with known symbol layout will mean waiting six
months to debug the problem. :-)
Robert N M Watson
More information about the freebsd-questions