[RTEMS Project] #3818: New build system

RTEMS trac trac at rtems.org
Tue Sep 15 08:02:05 UTC 2020


#3818: New build system
-----------------------------+------------------------------
 Reporter:  Sebastian Huber  |       Owner:  Sebastian Huber
     Type:  enhancement      |      Status:  accepted
 Priority:  normal           |   Milestone:  6.1
Component:  build            |     Version:  6
 Severity:  normal           |  Resolution:
 Keywords:                   |  Blocked By:
 Blocking:  3250             |
-----------------------------+------------------------------

Comment (by kgardas):

 Replying to [comment:50 Sebastian Huber]:
 > Replying to [comment:48 kgardas]:
 > > unfortunately so far I struggle with translating this to waf, probably
 should look for some waf doc or so. E.g. linking steps of appcpustart.o
 into appstart.o is what makes me trouble. Also I'm not able to find out
 how rtemsbsp lib is linked and its dependency specified...
 >
 > Thanks testing the new build system and for the bug report. I checked in
 a fix, could you please test if this fixes the issues on this BSP.
 >
 > Working with waf is also not easy for me. Fortunately, we don't have
 that many areas in the build which need a special treatment like this. It
 was the first spot which needed to include a specially build object file
 in a library.

 Build builds both no-SMP and SMP BSPs fine, but neither of them runs on
 neither qemu nor on real hardware. If you find helpful, then qemu
 connected gdb shows those 3 traces over few seconds of BSP run:
 {{{
 Program received signal SIGINT, Interrupt.
 0x00008d54 in _RBTree_Insert_inline (less=<optimized out>, key=<synthetic
 pointer>, the_node=0x5ccc3d04, the_rbtree=0x736f4d74) at
 ../../../cpukit/include/rtems/score/rbtree.h:523
 523       while ( *link != NULL ) {
 (gdb) where
 #0  0x00008d54 in _RBTree_Insert_inline (less=<optimized out>,
 key=<synthetic pointer>, the_node=0x5ccc3d04, the_rbtree=0x736f4d74) at
 ../../../cpukit/include/rtems/score/rbtree.h:523
 #1  _Priority_Plain_insert (priority=0, node=0x5ccc3d04,
 aggregation=0xc031 <vesa_realmode_bootup_init+3305>) at
 ../../../cpukit/include/rtems/score/priorityimpl.h:417
 #2  _Thread_queue_Priority_do_enqueue (heads=0xc031
 <vesa_realmode_bootup_init+3305>, queue_context=0x6c6c6544,
 the_thread=0x74 <_establish_stack+19>, queue=0x726f5020)
     at ../../../cpukit/score/src/threadqops.c:484
 #3  _Thread_queue_Queue_enqueue (enqueue=<optimized out>,
 initialize=<optimized out>, queue_context=0x6c6c6544, the_thread=0x74
 <_establish_stack+19>, queue=0x726f5020)
     at ../../../cpukit/score/src/threadqops.c:96
 #4  _Thread_queue_Priority_enqueue (queue=0x726f5020, the_thread=0x74
 <_establish_stack+19>, queue_context=0x6c6c6544) at
 ../../../cpukit/score/src/threadqops.c:566
 #5  0x6c616972 in ?? ()
 #6  0x00000000 in ?? ()
 (gdb) c
 Continuing.
 ^C
 Program received signal SIGINT, Interrupt.
 0x00008d48 in _Chain_Insert_unprotected (the_node=0x283d4 <idtHdl+2708>,
 after_node=0x9002d0ff) at
 ../../../cpukit/include/rtems/score/chainimpl.h:666
 666       before_node->previous = the_node;
 (gdb) where
 #0  0x00008d48 in _Chain_Insert_unprotected (the_node=0x283d4
 <idtHdl+2708>, after_node=0x9002d0ff) at
 ../../../cpukit/include/rtems/score/chainimpl.h:666
 #1  _Chain_Prepend_unprotected (the_node=0x283d4 <idtHdl+2708>,
 the_chain=0x9002d0ff) at
 ../../../cpukit/include/rtems/score/chainimpl.h:737
 #2  _Thread_queue_Queue_enqueue (enqueue=<optimized out>,
 initialize=<optimized out>, queue_context=0x6c6c6544, the_thread=0x74
 <_establish_stack+19>, queue=0x726f5020)
     at ../../../cpukit/score/src/threadqops.c:95
 #3  _Thread_queue_Priority_enqueue (queue=0x726f5020, the_thread=0x74
 <_establish_stack+19>, queue_context=0x6c6c6544) at
 ../../../cpukit/score/src/threadqops.c:566
 #4  0x6c616972 in ?? ()
 #5  0x00000000 in ?? ()
 (gdb) c
 Continuing.
 ^C
 Program received signal SIGINT, Interrupt.
 0x00008d54 in _RBTree_Insert_inline (less=<optimized out>, key=<synthetic
 pointer>, the_node=0x5ccc3d04, the_rbtree=0x736f4d74) at
 ../../../cpukit/include/rtems/score/rbtree.h:523
 523       while ( *link != NULL ) {
 (gdb) where
 #0  0x00008d54 in _RBTree_Insert_inline (less=<optimized out>,
 key=<synthetic pointer>, the_node=0x5ccc3d04, the_rbtree=0x736f4d74) at
 ../../../cpukit/include/rtems/score/rbtree.h:523
 #1  _Priority_Plain_insert (priority=0, node=0x5ccc3d04,
 aggregation=0xc031 <vesa_realmode_bootup_init+3305>) at
 ../../../cpukit/include/rtems/score/priorityimpl.h:417
 #2  _Thread_queue_Priority_do_enqueue (heads=0xc031
 <vesa_realmode_bootup_init+3305>, queue_context=0x6c6c6544,
 the_thread=0x74 <_establish_stack+19>, queue=0x726f5020)
     at ../../../cpukit/score/src/threadqops.c:484
 #3  _Thread_queue_Queue_enqueue (enqueue=<optimized out>,
 initialize=<optimized out>, queue_context=0x6c6c6544, the_thread=0x74
 <_establish_stack+19>, queue=0x726f5020)
     at ../../../cpukit/score/src/threadqops.c:96
 #4  _Thread_queue_Priority_enqueue (queue=0x726f5020, the_thread=0x74
 <_establish_stack+19>, queue_context=0x6c6c6544) at
 ../../../cpukit/score/src/threadqops.c:566
 #5  0x6c616972 in ?? ()
 #6  0x00000000 in ?? ()
 (gdb)
 }}}

--
Ticket URL: <http://devel.rtems.org/ticket/3818#comment:51>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list