Messages in this thread | | | Date | Sun, 30 Dec 2001 19:00:20 -0200 | From | Ralf Baechle <> | Subject | Re: [PATCH][RFC] global errno considered harmful |
| |
On Sun, Dec 30, 2001 at 02:56:21PM -0500, Jeff Dike wrote:
> buytenh@gnu.org said: > > Is there any particular reason we need a global errno in the kernel at > > all? (which, by the way, doesn't seem to be subject to any kind of > > locking) > > As far as I've been able to tell, no.
Historically the reason was to make unistd.h usable from userspace. Which is causing tremendous portability problems so apps better shouldn't think about using the syscall interface directly.
> > It makes life for User Mode Linux somewhat more complicated > > than it could be, and it generally just seems a bad idea. > > Yeah. In order for -fno-common to not blow up the UML build (because of the > clash between libc errno and kernel errno), I had to add -Derrno=kernel_errno > to all the kernel file compiles. It would be nice to get rid of that wart. > > > Referenced patch deletes all mention of a global errno from the > > kernel > > Awesome. This definitely needs to happen. If no one spots any breakage, > send it in...
As user application are trying to use unistd.h and expect errno to get set properly unistd.h or at least it's syscallX macros will have to be made unusable from userspace or silent breakage of such apps rebuild against new headers will occur.
Ralf - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |