lkml.org 
[lkml]   [2013]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: SYSV IPC broken for no-legacy syscall kernels (was Re: [RFC PATCH v1 26/31] ARC: Build system: Makefiles, Kconfig, Linker script)
Hi Arnd,

On Monday 11 March 2013 07:00 PM, Arnd Bergmann wrote:
> On Monday 11 March 2013, James Hogan wrote:
>>> /*
>>> * Version flags for semctl, msgctl, and shmctl commands
>>> * These are passed as bitflags or-ed with the actual command
>>> */
>>> #define IPC_OLD 0 /* Old version (no 32-bit UID support on many
>>> architectures) */
>>> #define IPC_64 0x0100 /* New version (support 32-bit UIDs, bigger
>>> message sizes, etc. */
>>>
>>> So someone with more ABI wisdom needs to suggest what is the right approach.
>> Agreed.
>>
>> Note that in uClibc, 64bit arches (excl alpha/mips for some reason) were
>> already defining __IPC_64 as 0, so there's some precedent for it working
>> the way it does.
> Yes, there is no reason to need the distinction. If LTP is checking for
> IPC_OLD compatibility on anything but really old architectures, that is
> a bug in LTP, or possibly in the libc.
>
> Arnd

I'm sorrry - I don't quite understand what you mean.

The question is what should the msgctl(2) ABI be w.r.t. @cmd arg. Does it need to
be of type 0x01NN (i.e. IPC_64 ORed) or should it be be 0xNN. If it's 0x01NN,
then ARCH_WANT_IPC_PARSE_VERSION is needed in Kconfig, otherwise, I need to fix
uClibc.

The reason for confusion seems to be a comment in existing uapi/linux/ipc.h which
seems to suggest that IPC_OLD is 0 and IPC_64 is newer version.

Thx,
-Vineet



\
 
 \ /
  Last update: 2013-03-11 15:44    [W:0.104 / U:1.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site