[PATCH] Fix argument passing in sysvipc/test-sysvsem
Florian Weimer
fweimer@redhat.com
Mon Jan 2 18:24:00 GMT 2017
On 01/02/2017 07:14 PM, Tulio Magno Quites Machado Filho wrote:
> Florian Weimer <fweimer@redhat.com> writes:
>
>> On 12/31/2016 05:04 PM, Zack Weinberg wrote:
>>> On Sat, Dec 31, 2016 at 1:07 AM, Florian Weimer <fweimer@redhat.com> wrote:
>>>> On 12/30/2016 09:43 PM, Tulio Magno Quites Machado Filho wrote:
>>>>>
>>>>> +/* Confirm if sys/sem.h defines semun. */
>>>>> +#ifdef _SEM_SEMUN_UNDEFINED
>>>>> +union semun
>>>>> +{
>>>>> + int val;
>>>>> + struct semid_ds *buf;
>>>>> + unsigned short int *array;
>>>>> + struct seminfo *__buf;
>>>>> +};
>>>>> +#endif
>>>>
>>>>
>>>> Sorry, I don't understand the comment. Why is this definition not provided
>>>> by the installed headers if IPC_STAT needs it?
>>>
>>> sys/sem.h is required *not* to declare union semun; applications are
>>> required to declare it themselves. See
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/semctl.html.
>>> Yes, this is ridiculous. I can only guess that it was omitted by
>>> mistake from the original incarnation of SysV semaphores, so
>>> applications started declaring it themselves, and then POSIX was over
>>> a barrel since redundant complete aggregate definitions aren't
>>> allowed.
>>
>> This still doesn't make sense. POSIX could have standardized the union
>> under a different name. The existence struct sockaddr_storage strongly
>> suggests that implementations must be able to cope with this kind of
>> aliasing violation.
>
> Florian, could elaborate what your proposing here?
>
> It isn't clear whether you're suggesting that this test should be changed or
> if POSIX should be changed.
My comments are not relevant to the test case change.
Florian
More information about the Libc-alpha
mailing list