This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

STM32F4 and Dynamic loading.


Hello again,
Thank you for your help.

I encounter anotger problem that could signify the end between eCos and I for my project... :( After having some simple examples working, i tried to make one using Dynamic ELF loading (dlopen).

So I tried first to compile eCos from the template stm32f4discovery + posix (that compiles), and then adding the package "Dynamic Loder". A conflict is resolved, setting the header to <cyg/loader/dlfcn>, but then with no more conflict the command Build / Library crash and doesn't want to compile "services/loader/current/src/loader.cxx"


Do you see what does it come from ? I see in the traces some undefined macros, but It doesn't seems to be the main problem.

By the way, I have seen through experimentations in order to resolve this issue, a difference between CYGPKG_HAL_CORTEXM and CYGPKG_HAL_ARM. So I would know : doesn't a cortexm platform be considered as an ARM one ? Why not ? Is it a cause of my problem ?


Cheers, and thank you again.

Valentin BOUSSON




end of traces :
==========

In file included from ~/ecos/packages/services/loader/current/src/loader.cxx:65: ~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:351: error: invalid use of incomplete type âstruct Cyg_LoadObject_Procâ ~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:77: error: forward declaration of âstruct Cyg_LoadObject_Procâ
make[1]: Leaving directory `~/ecos_tests/ecos_build/services/loader/current'
~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx: In constructor âCyg_LoadObject::Cyg_LoadObject()â:
make: Leaving directory `~/ecos_tests/ecos_build'
~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:357: error: type âCyg_LoadObject_Procâ is not a direct base of âCyg_LoadObjectâ

~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx: In constructor âCyg_LoadObject::Cyg_LoadObject(Cyg_LoaderStream&, cyg_uint32, Cyg_LoaderMemAlloc*, Cyg_LoaderMemBlock*)â: ~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:365: error: type âCyg_LoadObject_Procâ is not a direct base of âCyg_LoadObjectâ In file included from ~/ecos/packages/services/loader/current/src/dload.cxx:66: ~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:351: error: invalid use of incomplete type âstruct Cyg_LoadObject_Procâ ~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:77: error: forward declaration of âstruct Cyg_LoadObject_Procâ ~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx: In constructor âCyg_LoadObject::Cyg_LoadObject()â: ~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:357: error: type âCyg_LoadObject_Procâ is not a direct base of âCyg_LoadObjectâ ~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx: In constructor âCyg_LoadObject::Cyg_LoadObject(Cyg_LoaderStream&, cyg_uint32, Cyg_LoaderMemAlloc*, Cyg_LoaderMemBlock*)â: ~/ecos_tests/ecos_install/include/cyg/loader/loader.hxx:365: error: type âCyg_LoadObject_Procâ is not a direct base of âCyg_LoadObjectâ ~/ecos/packages/services/loader/current/src/loader.cxx: In constructor âCyg_Loader::Cyg_Loader(Cyg_LoaderMemAlloc*)â: ~/ecos/packages/services/loader/current/src/loader.cxx:126: error: no matching function for call to âCyg_CList_T<Cyg_LoadObject>::add_head(Cyg_LoadObject*&)â ~/ecos_tests/ecos_install/include/cyg/infra/clist.hxx:173: note: candidates are: void Cyg_CList::add_head(Cyg_DNode*) ~/ecos/packages/services/loader/current/src/loader.cxx:128: error: âclass Cyg_LoadObjectâ has no member named âget_errorâ ~/ecos/packages/services/loader/current/src/loader.cxx: In member function âcyg_code Cyg_Loader::load(Cyg_LoaderStream&, cyg_uint32, Cyg_LoadObject**)â: ~/ecos/packages/services/loader/current/src/loader.cxx:160: error: âclass Cyg_LoadObjectâ has no member named âget_errorâ ~/ecos/packages/services/loader/current/src/loader.cxx:168: error: no matching function for call to âCyg_CList_T<Cyg_LoadObject>::add_tail(Cyg_LoadObject*&)â ~/ecos_tests/ecos_install/include/cyg/infra/clist.hxx:209: note: candidates are: void Cyg_CList::add_tail(Cyg_DNode*) ~/ecos/packages/services/loader/current/src/loader.cxx:175: error: âclass Cyg_LoadObjectâ has no member named âget_errorâ ~/ecos/packages/services/loader/current/src/loader.cxx:186: error: âclass Cyg_LoadObjectâ has no member named âget_errorâ ~/ecos/packages/services/loader/current/src/loader.cxx:193: error: no matching function for call to âCyg_CList_T<Cyg_LoadObject>::remove(Cyg_LoadObject*&)â ~/ecos_tests/ecos_install/include/cyg/infra/clist.hxx:258: note: candidates are: void Cyg_CList::remove(Cyg_DNode*) ~/ecos/packages/services/loader/current/src/loader.cxx: In member function âCYG_ADDRESS Cyg_Loader::hash_lookup_addr(const char*)â: ~/ecos/packages/services/loader/current/src/loader.cxx:253: error: âclass Cyg_LoadObjectâ has no member named âhash_lookup_addrâ ~/ecos/packages/services/loader/current/src/loader.cxx:258: error: âclass Cyg_LoadObjectâ has no member named âget_nextâ ~/ecos/packages/services/loader/current/src/loader.cxx: In constructor âCyg_LoadObject_Base::Cyg_LoadObject_Base(Cyg_LoaderStream&, cyg_uint32, Cyg_LoaderMemAlloc*)â: ~/ecos/packages/services/loader/current/src/loader.cxx:331: error: âCYG_ELF_MACHINEâ was not declared in this scope ~/ecos/packages/services/loader/current/src/dload.cxx: In function âvoid* dlsym(void*, const char*)â: ~/ecos/packages/services/loader/current/src/dload.cxx:178: error: âclass Cyg_LoadObjectâ has no member named âsymbolâ
make[1]: *** [src/dload.o.d] Error 1
make[1]: *** Waiting for unfinished jobs....
~/ecos/packages/services/loader/current/src/loader.cxx: In member function âvoid Cyg_LoadObject::relocate()â: ~/ecos/packages/services/loader/current/src/loader.cxx:767: error: ârelâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:770: error: ârelsizeâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:770: error: âerrorâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:770: error: ârelentâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:773: error: âapply_relâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:777: error: âerrorâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:777: error: ârelaâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:780: error: ârelasizeâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:780: error: ârelaentâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:784: error: âapply_relaâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx: In member function âvoid Cyg_LoadObject::relocate_plt()â: ~/ecos/packages/services/loader/current/src/loader.cxx:797: error: âpltrelâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:799: error: âjmprelâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:800: error: âpltrelszâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:800: error: âerrorâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:803: error: âapply_relâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:807: error: âerrorâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:807: error: âpltrelâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:809: error: âjmprelâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:810: error: âpltrelszâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx:814: error: âapply_relaâ was not declared in this scope ~/ecos/packages/services/loader/current/src/loader.cxx: In member function âvirtual cyg_code Cyg_LoaderStream_File::seek(CYG_ADDRWORD)â: ~/ecos/packages/services/loader/current/src/loader.cxx:1045: warning: comparison between signed and unsigned integer expressions
make[1]: *** [src/loader.o.d] Error 1
make: *** [build] Error 2

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]