[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

Re: Re: [LIH] Linux or GNU/Linux? a philosophical problem



On Fri, Jun 09, 2000 at 03:03:20PM +0530, Babu Kalakrishnan wrote:
> > > Technically - I see gcc specific code being encouraged everywhere just to
> > > kill other compilers being used, advocacy of inferior GPL based stuff
> > 
> > Now, that is wrong! I guess all of us would want that C code be written
> > to comply with the ANSI standard. Extensions, if necessary be used only
> > in *exceptional* circumstances, and I guess a work-around be there for
> > those compilers that d not support the particular extension.
> > 
> 
> -- Quotes from info pages of libc --

One specific example of this on the IA-64 Linux project was the 
restarting of system calls. On IA-64, the output parameters on the
register stack can be clobbered by the callee. So after a ERESTART,
you can't restart the system call.

I advocated catching it in libc and restarting the call from saved
registers on the stack. However, the official solution was to modify
gcc to introduce special calling conventions to not clobber those
registers. And all system call handlers in the kernel use this
special calling convention.

Any attempt to recompile the kernel with a new compiler will require
reimplementation of this feature in the new compiler. Basically,
Linux is married so tightly to gcc that using another compiler is
a huge pain.

	-Arun