Dear developers, I have discovered a minor defect in ECOS Object loader package. It is related with CYG_LDR_TABLE_KAPI_MUTEX() definition placed in cyg/objloader/objelf.h. In details, there are ALMOST all ECOS API cyg_mutex_XXX functions placed under CYG_LDR_TABLE_KAPI_MUTEX(). Important, that ALMOST all, but not absolutely all. Fuction cyg_mutex_lock has been omitted I don't know why. Of course a simple way to fix this issue without any ECOS repository changes is to use construction like this
CYG_LDR_TABLE_ENTRY(cyg_mutex_lock_entry, "cyg_mutex_lock", &cyg_mutex_lock ); but I thing a better way to fix it under ECOS repository. Therefore I propose a special patch attached. Best regards, Stanislav
diff --git a/packages/services/objloader/current/ChangeLog b/packages/services/objloader/current/ChangeLog --- a/packages/services/objloader/current/ChangeLog +++ b/packages/services/objloader/current/ChangeLog @@ -1,3 +1,8 @@ +2010-03-03 Stanislav Karpenko <[email protected]> + + * include/objelf.h: Add missed entry to CYG_LDR_TABLE_KAPI_MUTEX + definition (cyg_mutex_lock_entry). + 2009-10-09 John Dallaway <[email protected]> * cdl/objloader.cdl: Eliminate workarounds for file path handling diff --git a/packages/services/objloader/current/include/objelf.h b/packages/services/objloader/current/include/objelf.h --- a/packages/services/objloader/current/include/objelf.h +++ b/packages/services/objloader/current/include/objelf.h @@ -342,6 +342,8 @@ CYG_LDR_TABLE_ENTRY(cyg_mutex_init_entry "cyg_mutex_init", cyg_mutex_init); \ CYG_LDR_TABLE_ENTRY(cyg_mutex_destroy_entry, \ "cyg_mutex_destroy", cyg_mutex_destroy); \ +CYG_LDR_TABLE_ENTRY(cyg_mutex_lock_entry, \ + "cyg_mutex_lock", cyg_mutex_lock); \ CYG_LDR_TABLE_ENTRY(cyg_mutex_trylock_entry, \ "cyg_mutex_trylock", cyg_mutex_trylock); \ CYG_LDR_TABLE_ENTRY(cyg_mutex_unlock_entry, \
