6.0R GENERIC makeoptions DEBUG=-g [Slightly OT]

Eric Schuele e.schuele at computer.org
Mon Nov 14 17:19:09 GMT 2005

Robert Watson wrote:
> 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. 

If I were to decide to remove this, and I have a small config file which 
includes GENERIC, what directive would I use.  For example, with a 
device I wish to remove I can use nodevice... for options, nooptions. 
nomakeoptions maybe?

Also... I once saw someone ask this and never saw a reply....
Where can I find documentation of the above mentioned mechanism?


> 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
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to 
> "freebsd-questions-unsubscribe at freebsd.org"


More information about the freebsd-questions mailing list