This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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]

[PATCH] ia64: Work around incorrect type of IA64 uc_sigmask


On Wed, Jul 25, 2018 at 9:31 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Wed, Jul 25, 2018 at 9:21 AM, Florian Weimer <fweimer@redhat.com> wrote:
>> On 07/21/2018 04:20 PM, H.J. Lu wrote:
>>>
>>> +  /* check sigmask in old context of swapcontext-call  */
>>> +  if (sigismember (&oldctx.uc_sigmask, SIGUSR2) != 1)
>>> +    {
>>> +      puts ("FAIL: SIGUSR2 is not blocked in oldctx.uc_sigmask.");
>>> +      exit (1);
>>> +    }
>>
>>
>> This breaks on ia64 because uc_sigmask does not have the correct type there:
>>
>> tst-setcontext4.c: In function ‘do_test’:
>> tst-setcontext4.c:202:20: error: passing argument 1 of ‘sigismember’ from
>> incompatible pointer type [-Werror=incompatible-pointer-types]
>>    if (sigismember (&oldctx.uc_sigmask, SIGUSR2) != 1)
>> In file included from ../include/signal.h:2,
>>                  from tst-setcontext4.c:23:
>> ../signal/signal.h:208:41: note: expected ‘const sigset_t *’ {aka ‘const
>> struct <anonymous> *’} but argument is of type ‘long unsigned int *’
>>  extern int sigismember (const sigset_t *__set, int __signo)
>>                          ~~~~~~~~~~~~~~~~^~~~~
>>
>> I don't have a quick solution for this.  How important is this part of the
>> test?
>>
>
> I am testing this patch.

It worked:

https://sourceware.org/ml/libc-alpha/2018-07/msg00829.html

OK for master?


-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]