[Rock-dev] Problems with C++ constructors and RTEMS

Anita ana.vazquez.alonso at gmail.com
Fri Sep 16 11:45:48 CEST 2011


Hi,

I managed to compile and link all the dependencies libraries together
with RTEMS 4.10.1 and Newlib, producing a final binary of about 32Mb.
I run it with QEMU but a problem in  runtime arose:

The problem happens inside a c++ constructor, called from
__do_global_ctors_aux (which if I understand it correctly, basically
call all the constructors from the table of pointers to constructor
defined in the .ctors section (i386-rtems-objdump -s -j .ctors
message_producer_test | vim -)).

__do_global_ctors_aux is called from RTEMS (_Thread_Handler
->INIT_NAME -> _init).

The constructor is part of omniORB, omni_mutex::omni_mutex
(http://pastebin.com/Pcd50Bni). Inside this constructor, a call to
pthread_mutex_init is produced.



More information about the Rock-dev mailing list