This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Move some *at definitions to syscalls.list (bug 14138)
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: Rich Felker <dalias at libc dot org>
- Cc: <libc-alpha at sourceware dot org>
- Date: Tue, 30 Sep 2014 17:24:10 +0000
- Subject: Re: Move some *at definitions to syscalls.list (bug 14138)
- Authentication-results: sourceware.org; auth=none
- References: <Pine dot LNX dot 4 dot 64 dot 1409292315590 dot 31344 at digraph dot polyomino dot org dot uk> <20140930170328 dot GD23797 at brightrain dot aerifal dot cx>
On Tue, 30 Sep 2014, Rich Felker wrote:
> On Mon, Sep 29, 2014 at 11:16:32PM +0000, Joseph S. Myers wrote:
> > Continuing the move of syscall definitions to syscalls.list, where the
> > removal of support for old kernel versions has made this possible,
> > this patch moves definitions of various *at functions in
> > sysdeps/unix/sysv/linux/.
>
> I think this is premature. Some of these functions, especially
> fchmodat, have serious bug reports open against them which cannot be
> fixed if they're pure syscall wrappers. See:
>
> https://sourceware.org/bugzilla/show_bug.cgi?id=14578
My patch did not change fchmodat because the implementation isn't simply a
syscall wrapper (the C function has an extra argument). For anything
that's currently a syscall wrapper in glibc, there is no point in it being
a C wrapper rather than a syscalls.list entry simply because some future
change might require such a wrapper; it can be converted to C at the point
where a C implementation is needed.
--
Joseph S. Myers
joseph@codesourcery.com