This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: __ARCH_WANT_SYSCALL_DEPRECATED
- From: Guan Xuetao <gxt at mprc dot pku dot edu dot cn>
- To: Arnd Bergmann <arnd at arndb dot de>
- Cc: "Linas Vepstas (Code Aurora)" <linas at codeaurora dot org>, GLIBC Devel<libc-alpha at sourceware dot org>, Chris Metcalf <cmetcalf at tilera dot com>, JonasBonn <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: Wed, 24 Aug 2011 10:01:24 +0800
- Subject: Re: __ARCH_WANT_SYSCALL_DEPRECATED
- References: <20110822193602.GA23301@codeaurora.org> <2047151.mWElcT8jZQ@wuerfel>
- Reply-to: gxt at mprc dot pku dot edu dot cn
Hi, Linas,
For unicore32, we have our own porting version of glibc, so conflict
problems are solved when one abi defined. We will modify the code of
kernel and glibc together to maintain the consistence.
So, sadly, you must choose one to modify (patching and re-building),
otherwise you must choose old good-matched versions.
For getdents (or other deprecated syscalls), we select getdents64 to
replace getdent, though we have not verified it on unicore32 platform. I
think it's reasonable, and perhaps modifying/rebuilding glibc is enough
for the whole file-system (there are always some applications which do
do syscalls and handle structs by themselves).
Another words, compatibility is very important, so making the decision
with your team.
Guan Xuetao
On Mon, 2011-08-22 at 22:43 +0200, Arnd Bergmann wrote:
> On Monday 22 August 2011 14:36:02 Linas Vepstas wrote:
> >
> > So: What's the latest on asm-generic support on glibc?
> > I just pulled glibc-2.14 and note that Chris Metcalf's
> > generic implementation hasn't been folded in yet.
> > It seems to work well for me, so can we expect it
> > anytime soon?
> >
> > Another problem: If I don't define __ARCH_WANT_SYSCALL_DEPRECATED
> > in the kernel asm/unistd.h then glibc won't build: currently,
> > I get
> > ../sysdeps/unix/sysv/linux/getdents.c:105: error: â__NR_getdentsâ undeclared (first use in this function)
> >
> > A very quick grep tells me that asm-generic defines a getdents64
> > but that is not what glibc is looking for. Is there any chance
> > that there are glibc patches floating around somewhere that heal
> > this and any remaining __ARCH_WANT_SYSCALL_DEPRECATED issues?
>
> I don't know the answer to your question, but I've added Mark Salter,
> Guan Xuetao and Tobias Klauser to the list, since they probably have
> the same issue on c64x, unicore32 and nios2. c64x is currently nommu,
> but there is a similar problem with uclibc and I expect that architecture
> to grow an mmu at some point.
>
> As far as I can tell, there is now a total of six architectures using
> the generic syscalls (not counting s*core, because that relies on
> the deprecated calls) and at least two unnamed ones waiting to have
> their coming-out, plus a few stagnated ports (lm32, arc, mmix, meta, ...)
> that would need to get converted if someone wanted to push kernel
> support upstream.
>
> Arnd