[PATCH] ia64: Work around incorrect type of IA64 uc_sigmask
H.J. Lu
hjl.tools@gmail.com
Wed Jul 25 17:00:00 GMT 2018
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.
More information about the Libc-alpha
mailing list