This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: __ARCH_WANT_SYSCALL_DEPRECATED
- From: Guan Xuetao <gxt at mprc dot pku dot edu dot cn>
- To: "Linas Vepstas (Code Aurora)" <linas at codeaurora dot org>
- Cc: Arnd Bergmann <arnd at arndb dot de>, GLIBC Devel <libc-alpha at sourceware dot org>, Chris Metcalf <cmetcalf at tilera dot com>, Jonas Bonn <jonas dot bonn at gmail dot com>, libc-ports at sourceware dot org, linux-hexagon at vger dot kernel dot org, linux-arch at vger dot kernel dot org, Mark Salter <msalter at redhat dot com>, Tobias Klauser <tklauser at distanz dot ch>
- Date: Thu, 25 Aug 2011 10:33:42 +0800
- Subject: Re: __ARCH_WANT_SYSCALL_DEPRECATED
- References: <20110822193602.GA23301@codeaurora.org> <2047151.mWElcT8jZQ@wuerfel> <1314151284.29738.34.camel@epip-laptop> <20110824152537.GA3993@codeaurora.org>
- Reply-to: gxt at mprc dot pku dot edu dot cn
On Wed, 2011-08-24 at 10:25 -0500, Linas Vepstas (Code Aurora) wrote:
> On Wed, Aug 24, 2011 at 10:01:24AM +0800, Guan Xuetao wrote:
> > For getdents (or other deprecated syscalls), we select getdents64 to
> > replace getdent, though we have not verified it on unicore32 platform.
>
> Do you have a publically-available version? Have you considered
> submitting it to the FSF? Have you signed the copyright-transfer
> forms with the FSF?
Firstly, what I said for getdents64 in unicore is just in developing,
not ready yet.
And for glibc part, it need much time to prepare for submitting.
>
> My goal with the hexagon archiecture is to have the kernel asm/unistd.h
> include asm-generic/unistd.h, and have glibc compile (on hexagon) with
> no further #defines in asm/unistd.h. This "almost" works today; with
> Chris Metcalf's generic syscall patches for glibc, I am able to compile
> glibc (and pass the glibc test suite). However, I have to #define
> __ARCH_WANT_SYSCALL_DEPRECATED to do this. If I don't, then the
> getdents syscall fails to compile; I don't know how many others there are.
It's also my goal. And you have walked further than me.
I guess, Chris don't need getdent for tile, since he didn't export the
syscall in kernel.
IMO, it's better to add one syscall instead of
__ARCH_WANT_SYSCALL_DEPRECATED in your own unistd.h:
#define __NR_getdents 1065
#define __ARCH_WANT_SYS_GETDENTS
__SYSCALL(__NR_getdents, sys_getdents)
>
> As to the "API": I just want to use Arnd's "generic" kernel support;
> that will be the API. No changing, porting, hacking :-)
>
> -- Linas
>
Regards
Guan Xuetao