Messages in this thread | | | Subject | Re: Building Kernel with -O0 | Date | Tue, 9 Sep 2008 14:55:50 -0400 | From | "linux-os (Dick Johnson)" <> |
| |
On Tue, 9 Sep 2008, Keith A. Prickett wrote:
> On Tue, 2008-09-09 at 19:04 +0300, Adrian Bunk wrote: >> On Thu, Sep 04, 2008 at 10:50:53AM -0700, Keith A. Prickett wrote:
Microsoft and "Writing Solid Code" are mutually exclusive.
> make this work is well worth the return. In the book "Writing Solid > Code" (http://www.amazon.com/Writing-Solid-Code-Microsofts-Programming/dp/1556155514) one technique discussed is: stepping through your code. In order to be able to do this effectively you need optimizations turned off.
Sorry, I couldn't resist after being required to write code in VC++/MFC, where memory leaks are "normal," and pointers passed to "methods" don't remain valid if there is any other activity besides yours occurring in the machine.
If you have to single-step through kernel procedures, you are not writing proper code for a kernel. Furthermore, even when using the kernel debugger, you are not executing the exact same path that would be executed without the debugger attached.
These are some of the reasons why any attempt to compile with no optimization will usually fall upon deaf ears. There is a lot of in-line assembly that can't work with -O0 and if you change the code so that it does, it will not be the same as "normal" code so whatever it is that you are trying to accomplish will probably fail to work as planned.
Cheers, Dick Johnson Penguin : Linux version 2.6.25.17 on an i686 machine (4786.16 BogoMips). My book : http://www.AbominableFirebug.com/ _
**************************************************************** The information transmitted in this message is confidential and may be privileged. Any review, retransmission, dissemination, or other use of this information by persons or entities other than the intended recipient is prohibited. If you are not the intended recipient, please notify Analogic Corporation immediately - by replying to this message or by sending an email to DeliveryErrors@analogic.com - and destroy all copies of this information, including any attachments, without reading or disclosing them.
Thank you.
| |