[Rock-dev] Problems with C++ constructors and RTEMS
Anita
ana.vazquez.alonso at gmail.com
Fri Sep 16 14:44:34 CEST 2011
Hi, according to
http://www.dfki.de/pipermail/rock-dev/2011-September/000842.html
only half of my mail has been sent. I do not know why, but just in
cases, here it is the whole mail: http://pastebin.com/aPaXWWqu
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