Date: Mon, 14 Nov 2005 11:49:37 +0000 (GMT) From: Robert Watson <rwatson@FreeBSD.org> To: Simon Ironside <sironside@interfone.net> Cc: stable@freebsd.org, questions@freebsd.org Subject: Re: 6.0R GENERIC makeoptions DEBUG=-g Message-ID: <20051114114450.W66587@fledge.watson.org> In-Reply-To: <43784DC6.4000809@interfone.net> References: <436BCD90.40709@interfone.net> <43784DC6.4000809@interfone.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051114114450.W66587>