[PATCH] C undefined behavior fix

Paul Mackerras paulus@samba.org
Fri Jan 4 14:16:00 GMT 2002


Florian Weimer writes:

> Paul Mackerras <paulus@samba.org> writes:
> 
> > One of the reasons why C is a good language for the kernel is that its
> > memory model is a good match to the memory organization used by the
> > processors that linux runs on.  Thus, for these processors, adding an
> > offset to a pointer is in fact simply an arithmetic addition.
> 
> But this is not the memory model of C!  Adding an offset to a pointer
> is an operation involving objects defined by the C language, and not
> machine registers.  Sometimes, this makes a noticeable difference.

Sorry, you are correct.  I should have written "One of the reasons why
C used to be a good language for writing operating system kernels ..."

Paul.



More information about the Gcc mailing list