Current head compilation problem
Deng Hengyi
wei.a.yang at gmail.com
Sat Aug 17 13:10:08 UTC 2013
Yeah, you can use a higher CPU model which will avoid compare_and_swap instruction error, but the patch should also applied because it is a separate issue.
WeiY
Best Regards
在 2013-8-17,下午8:58,Joel Sherrill <joel.sherrill at oarcorp.com> 写道:
> For now Sree could use a pc386 variant that has a higher CPU model like pc486.
>
> Deng Hengyi <wei.a.yang at gmail.com> wrote:
>
>
> Hi all,
>
> There is a patch i submitted but it is not merged now[1], this patch will solve this error, but as you know the i386 do not have atomic instruction
> So atomic related code should not compiled at all, now the check-atomic.m4 will pass check that indicates the i386 support atomic. I will provide a
> new patch to add compare_and_swap check to avoid this issue.
>
> 1. http://www.rtems.org/pipermail/rtems-devel/2013-August/004081.html
>
> WeiY
> Best Regards
>
> 在 2013-8-17,下午8:37,Gedare Bloom <gedare at rtems.org> 写道:
>
>> Send a separate email with this bug info, or file a bug report. This
>> is unrelated and was probably introduced by the code changes
>> contributed by Hengyi.
>> -Gedare
>>
>> On Sat, Aug 17, 2013 at 2:38 AM, Sree Harsha Konduri
>> <sreehars at buffalo.edu> wrote:
>>> Hello,
>>>
>>> After applying the patch that Joel has sent out, there is a new bug that is
>>> occuring in smpatomic tests.
>>>
>>> The bug is shown below,
>>>
>>> gmake[6]: Entering directory
>>> `/home/harsha/rtems/4.11/pc386/i386-rtems4.11/c/pc386/testsuites/smptests/smpatomic02'
>>> i386-rtems4.11-gcc -B../../../../../pc386/lib/ -specs bsp_specs -qrtems
>>> -DHAVE_CONFIG_H -I.
>>> -I../../../../../../../rtems/c/src/../../testsuites/smptests/smpatomic02
>>> -I..
>>> -I../../../../../../../rtems/c/src/../../testsuites/smptests/../support/include
>>> -mtune=i386 -O2 -g -Wall -Wmissing-prototypes
>>> -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT
>>> tasks.o -MD -MP -MF .deps/tasks.Tpo -c -o tasks.o
>>> ../../../../../../../rtems/c/src/../../testsuites/smptests/smpatomic02/tasks.c
>>> In file included from
>>> ../../../../../pc386/lib/include/rtems/score/cpuatomic.h:29:0,
>>> from
>>> ../../../../../pc386/lib/include/rtems/score/atomic.h:21,
>>> from
>>> ../../../../../pc386/lib/include/rtems/rtems/atomic.h:26,
>>> from
>>> ../../../../../../../rtems/c/src/../../testsuites/smptests/smpatomic02/tasks.c:19:
>>> ../../../../../pc386/lib/include/rtems/score/cpustdatomic.h: In function
>>> 'Test_task':
>>> ../../../../../pc386/lib/include/rtems/score/cpustdatomic.h:83:3: error:
>>> invalid memory model for '__atomic_load'
>>> return atomic_load_explicit( object, order );
>>> ^
>>> ../../../../../pc386/lib/include/rtems/score/cpustdatomic.h:91:3: error:
>>> invalid memory model for '__atomic_load'
>>> return atomic_load_explicit( object, order );
>>> ^
>>> gmake[6]: *** [tasks.o] Error 1
>>> gmake[6]: Leaving directory
>>> `/home/harsha/rtems/4.11/pc386/i386-rtems4.11/c/pc386/testsuites/smptests/smpatomic02'
>>> gmake[5]: *** [all-recursive] Error 1
>>>
>>> Thanks,
>>> Sree
>>>
>>>
>>>
>>> On Fri, Aug 16, 2013 at 4:57 PM, Joel Sherrill <joel.sherrill at oarcorp.com>
>>> wrote:
>>>>
>>>> I think the change from #ifdef to #if changed this.
>>>> pc386 set CLOCK_DRIVER_ISRS_PER_TICK to a
>>>> string rather than a numeric value. I added
>>>> CLOCK_DRIVER_ISRS_PER_TICK_VALUE and
>>>> did some other clean up on the driver.
>>>>
>>>> With the attached patch, it compiles again and
>>>> ticker runs.
>>>>
>>>> Please review and let me know if OK to commit.
>>>>
>>>>
>>>> On 8/16/2013 11:03 AM, Gedare Bloom wrote:
>>>>>
>>>>> OK. If you find the bug in the modified clockdrv_shell.h think about
>>>>> how it might be fixed.
>>>>>
>>>>> On Fri, Aug 16, 2013 at 11:49 AM, Vipul Nayyar <nayyar_vipul at yahoo.com>
>>>>> wrote:
>>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> Will look more closely into the matter.
>>>>>>
>>>>>> FWIW, I compiled the pc386 bsp giving the same configure statement as
>>>>>> Sree
>>>>>> gave, in my personal fork of rtems from github which is about 18 or so
>>>>>> commits behind the master( that means my fork does not contain Sebastian
>>>>>> &
>>>>>> Chris' #define -> #if patches).
>>>>>>
>>>>>> And it compiled successfully, without giving any errors.
>>>>>>
>>>>>> What I feel, is that the following two patches that modified
>>>>>> clockdrv_shell.h need to be checked again..
>>>>>>
>>>>>> http://git.rtems.org/rtems/commit/?id=b7f206097313f794dbe53202542b5894aad6a117
>>>>>>
>>>>>> http://git.rtems.org/rtems/commit/?id=d473dc0b22d3276130f893a51350c8bfb8beaac8
>>>>>>
>>>>>> My patches for pc386 were checked carefully by Sebastian, but will have
>>>>>> to
>>>>>> look more closely to find any bug caused due to my patches.
>>>>>>
>>>>>> Regards
>>>>>> Vipul Nayyar
>>>>
>>>>
>>>>
>>>> --
>>>> Joel Sherrill, Ph.D. Director of Research & Development
>>>> joel.sherrill at OARcorp.com On-Line Applications Research
>>>> Ask me about RTEMS: a free RTOS Huntsville AL 35805
>>>> Support Available (256) 722-9985
>>>>
>>>
>
More information about the devel
mailing list