This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Daniel Jacobowitz wrote: > On Fri, Jan 05, 2007 at 11:25:19AM +0900, Atsushi Nemoto wrote: >>> Also, the n32 system call just routes the system call directly to >>> sys_msgctl, where there is no wrapper that would set the IPC_64 >>> flag. If you don't have that, then the IPC_OLD version is assumed: >>> i.e. that you have the old obsolete version of the structure which >>> contains a next and previous pointer. >> >> And I think this was fixed on linux-mips.org two months ago: >> >> master: http://www.linux-mips.org/g/linux/8449047d >> linux-2.6.18-stable: http://www.linux-mips.org/g/linux/26c12cea >> linux-2.6.17-stable: http://www.linux-mips.org/g/linux/aee726a6 >> linux-2.6.16-stable: http://www.linux-mips.org/g/linux/2d465e56 >> >> Upcoming 2.6.20 will contain this fix. >> >> >> Do they solve your problem? > > I'm still concerned about the glibc side. We call the syscalls > differently for o32 and n32. The issue is that some of the compat_* functions don't belong in the system call table. They don't have the right type signatures, or semantics. It might be wise to do a review of the system call table to see if there are any other cases like this. For instance, the use of compat_sys_shmctl as the sys_shmctl system call on n32 looks fishy. That function looks for the IPC_64 flag, which glibc won't generate.
Attachment:
kaz-msgsnd-diff
Description: kaz-msgsnd-diff
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |