Jan Kiszka wrote:
> Gilles Chanteperdrix wrote:
>> Jan Kiszka wrote:
>>> Gilles Chanteperdrix wrote:
>>>> Gilles Chanteperdrix wrote:
>>>>> Jan Kiszka wrote:
>>>>>> Gilles Chanteperdrix wrote:
>>>>>>> Gilles Chanteperdrix wrote:
>>>>>>>> Jan Kiszka wrote:
>>>>>>>>> Gilles Chanteperdrix wrote:
>>>>>>>>>> I get this warning when compiling trunk:
>>>>>>>>>>
>>>>>>>>>> checking for __thread... rm: cannot remove `conftest1.dir': Is a 
>>>>>>>>>> directory
>>>>>>>>>> yes
>>>>>>>>>>
>>>>>>>>> That simple, it's a typo in this line:
>>>>>>>>>
>>>>>>>>> http://www.rts.uni-hannover.de/xenomai/lxr/source/configure.in?v=SVN-trunk#394
>>>>>>>>>
>>>>>>>>> Also, that rm should be done outside the if block to play safe.
>>>>>>>> Ok. But once this is fixed, I get a segmentation fault with __thread on
>>>>>>>> ARM in rt_task_trampoline. I am currently testing the SIGWINCH thing,
>>>>>>>> and if __thread is disabled, there is no segfault.
>>>>>>> If a #ifdef 0 xeno_set_current, there is no segfault.
>>>>>>>
>>>>>> Interesting. What about removing the initial-exec attributes? Is
>>>>>> __thread otherwise know to work on your platform?
>>>>> Yes. This is a race condition, the real bug is, IMHO:
>>>>>   __native_self = *iargs->task;
>>>>> When the segfault happens iargs->task is NULL. I suspect you are not
>>>>> supposed to use iargs after the __native_task_create syscall.
>>>> Yes, that was the problem.
>>> What did you change? Can you explain the why to me?
>> Because I guess iargs is no longer valid at this point. So, I saved the
>> task pointer and reused it.
>>
> 
> Sorry, makes no sense to me: *iargs is on the stack of the
> rt_task_create caller, and that one is not expected to proceed until we
> issue __xn_sys_barrier.

Well I am busy with the ARM FCSE now. Do you want my test case ?

-- 
                                            Gilles.

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to