This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: [PATCH] RE: msgctl() on MIPS, n32 ABI.
On Wed, Jan 10, 2007 at 11:26:48PM +0900, Atsushi Nemoto wrote:
> On Wed, 10 Jan 2007 09:09:00 -0500, Daniel Jacobowitz <drow@false.org> wrote:
> > > The __IPC_64 problem on {shm,sem,msg}ctl is not only for N32. N64
> > > also suffers this problem. Certainly glibc can provide wrappers for
> > > these system calls, as ARM EABI does. A patch attached.
> >
> > Why should o32 and n32 be treated differently? It's n64 which is the
> > odd man out, not o32.
> >
> > Is it because n32 has a msgctl syscall instead of sys_ipc?
>
> Yes. Someone must set IPC_64 for N32, otherwise compat routines will
> not work properly. An alternative solution would be changing
> kernel-side: add __mips64 to this #if line in ipc/util.h and move
> #define __ARCH_WANT_IPC_PARSE_VERSION in asm-mips/unistd.h into #ifdef
> CONFIG_32BIT block.
I see. It would be logical to assume IPC_64 for n64, but that would
be an ABI change, so let's not adjust it more than we have to.
Your glibc patch looks reasonable to me. I'll double-check it later
and commit it (may be a few days, sorry).
--
Daniel Jacobowitz
CodeSourcery