[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-arm-kernel
Subject: Re: removed syscalls and glibc
From: Matthias Welwarsky <mwelwarsky () web ! de>
Date: 2003-10-03 14:55:35
[Download RAW message or body]
On Friday 03 October 2003 16:13, Robin Farine wrote:
> When one builds glibc-2.3.2 with kernel headers from
> linux-2.6.0-test[2-6], at least the waitpid(2) function doesn't work
> anymore. The glibc implementation does something like
>
> #ifdef __NR_waitpid
> waitpid syscall
> #else
> wait4 syscall
> #endif
>
> Since the asm-arm/unistd.h header defines __NR_waitpid but the kernel
> doesn't actually implement it, waitpid(2) always returns -1 with errno
> et to ENOTSUP.
>
>
> Would it be acceptable in general to change the definition of a
> removed system call in unistd.h to something like
>
> #define __removed_NR_foo
I'd say it's a bug in the libc, because AFAIK there was never a waitpid() for
ARM, at least in 2.4 it too reports ENOTSUP. The C library should probably
detect this and emulate the call with wait4(). For x86, there's emulation
code that does exactly this in kernel/exit.c.
In general, I'd say it's not a good idea to remove a system call at all,
because it breaks the kernels ABI.
regards,
matthias
-------------------------------------------------------------------
Subscription options: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ/Etiquette: http://www.arm.linux.org.uk/armlinux/mailinglists.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic