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