This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: support for calling Linux syscalls directly
- From: Rich Felker <dalias at aerifal dot cx>
- To: David Miller <davem at davemloft dot net>
- Cc: chrubis at suse dot cz, hpa at zytor dot com, vapier at gentoo dot org,libc-alpha at sourceware dot org, keescook at chromium dot org
- Date: Tue, 12 Feb 2013 13:04:01 -0500
- Subject: Re: support for calling Linux syscalls directly
- References: <201301242314.47793.vapier@gentoo.org><5109A662.7050101@zytor.com><20130212174638.GB25044@rei><20130212.125252.1057529665632731599.davem@davemloft.net>
On Tue, Feb 12, 2013 at 12:52:52PM -0500, David Miller wrote:
> From: chrubis@suse.cz
> Date: Tue, 12 Feb 2013 18:46:38 +0100
>
> > I do the LTP[1] which makes legitimate use of syscall(3) as for the
> > testing purposes we need to be able to call bare syscalls in order to
> > validate both glibc and kernel API. And removing the call would mess
> > backward compatibility.
>
> I don't think it makes sense for every source tree that wants to
> call syscall directly to have to duplicate over and over again the
> argument passing quirks of various architectures.
>
> Multiple instances of such tricky code means multiple places for
> the same bugs over and over again.
LTP is a very special case. It's a test suite for the kernel API/ABI,
so of course it needs to be aware of (and testing!) these differences
to make sure nobody breaks them (which would in turn break glibc).
In any case, I don't think anybody's proposing that the syscall()
function itself be removed from glibc, just that the deficiencies
which necessitate its use in some application code be fixed so that
its use can be phased out in most applications.
Rich