Date: Mon, 30 Jan 2006 08:46:57 +0000 From: Brian Candler <B.Candler@pobox.com> To: Aluminium Oxide <orac000@internet-mail.org> Cc: freebsd-net@freebsd.org Subject: Re: /usr/src/lib/libc/net/res_debug.c: compile problem fixed Message-ID: <20060130084657.GA70583@uk.tiscali.com> In-Reply-To: <1138573200.6772.253038464@webmail.messagingengine.com> References: <1136167766.17477.250884723@webmail.messagingengine.com> <20060103153312.GB11044@uk.tiscali.com> <1138522806.15997.253010448@webmail.messagingengine.com> <20060129101434.GA67244@uk.tiscali.com> <1138573200.6772.253038464@webmail.messagingengine.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 30, 2006 at 08:50:00AM +1030, Aluminium Oxide wrote: > Awwww... > > You're right, but there's only a handlful of these that stop buildworld > with -O3.... I think the issue is that although you may be able to get FreeBSD to *build* using -O3, it's quite unlikely that it will *work* properly. If I understand correctly, gcc -O3 makes a lot of assumptions about when it's OK to keep values around in registers, which may not be valid when there are interrupts or other threads modifying memory. I think it's possible to make the code -O3 safe, e.g. by putting loads of 'volatile' declarations in, but catching every single case where this is required is extremely different. This may be more of a problem with the kernel than with userland though. Regards, Brian.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060130084657.GA70583>