Problems with RTEMS-4.7.1 pc386 BSP

Joel Sherrill joel.sherrill at oarcorp.com
Thu May 24 13:17:22 UTC 2007


Till Straumann wrote:
> I build with this BSP occasionally but haven't upgraded to 4.7.1yet
> libcsupport/src/__assert.c was apparently added to 4.7.1(but was
> missing from 4.7.0) on 2007/3/28 so it's relatively new.
>
>   
Yes it is new.  The __assert in newlib used printf so was almost guaranteed
to be unable to print when you needed to assert.

The RTEMS __assert ends with rtems_fatal_error_occurred so it makes
sense to me that the pc386 BSP provide a fatal error handler and use
the default _assert.

--joel
> T.
>
> Eric Norum wrote:
>   
>> I'm surprised to find problems with the pc386 BSP.   Surely this must  
>> be one of the more heavily used architectures. so why am I the first  
>> to run into this problem?
>>
>> When linking an application I get:
>>
>> /usr/local/rtems/rtems-4.7/bin/i386-rtems4.7-g++ -B/usr/local/rtems/ 
>> rtems-4.7/i386-rtems4.7/pc386/lib/ -specs bsp_specs -qrtems   -o  
>> rtemsTestHarness -static -L/private/tmp/ep/lib/RTEMS-pc386         -u  
>> Init /usr/local/rtems/rtems-4.7/i386-rtems4.7/pc386/lib/no-dpmem.rel / 
>> usr/local/rtems/rtems-4.7/i386-rtems4.7/pc386/lib/no-mp.rel /usr/ 
>> local/rtems/rtems-4.7/i386-rtems4.7/pc386/lib/no-part.rel /usr/local/ 
>> rtems/rtems-4.7/i386-rtems4.7/pc386/lib/no-signal.rel /usr/local/ 
>> rtems/rtems-4.7/i386-rtems4.7/pc386/lib/no-rtmon.rel -Wl,-Ttext, 
>> 0x100000          rtemsTestHarness.o epicsCalcTest.o  
>> epicsAlgorithmTest.o epicsMathTest.o epicsStdioTest.o  
>> epicsStringTest.o epicsTimeTest.o epicsThreadTest.o  
>> epicsThreadPriorityTest.o epicsThreadPrivateTest.o epicsExitTest.o  
>> epicsTimerTest.o ringPointerTest.o epicsEventTest.o epicsMutexTest.o  
>> epicsExceptionTest.o epicsMessageQueueTest.o macEnvExpandTest.o  
>> blockingSockTest.o epicsRunLibComTests.o epicsThreadPerform.o  
>> epicsMaxThreads.o buckTest.o    -lCom     -lreadline -lncurses -lm - 
>> lrtemsCom -lrtemscpu -lCom -lrtemsNfs -lm
>> usr/local/rtems/rtems-4.7/i386-rtems4.7/pc386/lib/librtemsbsp.a 
>> (console.rel): In function `__assert':
>> /usr/local/rtems/src/4.7.1/www.rtems.org/ftp/pub/rtems/4.7.1/ 
>> rtems-4.7.1/c/src/lib/libbsp/i386/pc386/console/console.c:156:  
>> multiple definition of `__assert'
>> /usr/local/rtems/rtems-4.7/i386-rtems4.7/pc386/lib/librtemscpu.a 
>> (libcsupport_a-__assert.o):/usr/local/rtems/src/4.7.1/www.rtems.org/ 
>> ftp/pub/rtems/4.7.1/rtems-4.7.1/c/src/../../cpukit/libcsupport/src/ 
>> __assert.c:17: first defined here
>> /usr/local/rtems/rtems-4.7/lib/gcc/i386-rtems4.7/4.1.2/../../../../ 
>> i386-rtems4.7/bin/ld: Warning: size of symbol `__assert' changed from  
>> 41 in /usr/local/rtems/rtems-4.7/i386-rtems4.7/pc386/lib/librtemscpu.a 
>> (libcsupport_a-__assert.o) to 133 in /usr/local/rtems/rtems-4.7/i386- 
>> rtems4.7/pc386/lib/librtemsbsp.a(console.rel)
>>
>>
>>
>>
>> I propose that the __assert in c/src/lib/libbsp/i386/pc386/console/ 
>> console.c be removed.
>>   
>>     
>
>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.com
> http://rtems.rtems.org/mailman/listinfo/rtems-users
>   




More information about the users mailing list