This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
shmat apparently broken on n32 MIPS.
- From: "Kaz Kylheku" <kaz at zeugmasystems dot com>
- To: <libc-ports at sources dot redhat dot com>
- Date: Fri, 1 Dec 2006 11:36:59 -0800
- Subject: shmat apparently broken on n32 MIPS.
I'm porting an application to MIPS using kernel 2.6.17.7 (64 bit) and an
n32 user space based on glibc and glibc-ports 2.5 (straight from the
tarballs, with minor patching).
The shmat() function is behaving strangely. In the kernel, do_shmat() is
working fine. It returns 0, and sets *raddr to a valid value from
do_mmap. The value is in the 32 bit address range, respecting the task
size of the caller.
But in user space, it's a different story. The libc function fails: the
pointer compares equal to (void *) -1. The value of errno is observed as
14/EFAULT.