This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
STM32F4 and Dynamic loading.
- From: Valentin BOUSSON <ml-ecos at belphegor dot eu>
- To: ecos-discuss at ecos dot sourceware dot org
- Date: Thu, 27 Feb 2014 13:49:27 +0100
- Subject: STM32F4 and Dynamic loading.
- Authentication-results: sourceware.org; auth=none
- References: <52DD4B0B dot 8080105 at belphegor dot eu> <52DD814D dot 8080607 at siva dot com dot mk> <52E24132 dot 2020505 at belphegor dot eu> <52E47811 dot 9080806 at siva dot com dot mk> <530C6522 dot 7020704 at belphegor dot eu> <530C9551 dot 1060603 at belphegor dot eu> <530DF5CB dot 9060909 at belphegor dot eu> <530E0FC5 dot 8040704 at siva dot com dot mk>
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