Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

os-impl-no-symtab.c out of date #797

Closed
skliper opened this issue Feb 10, 2021 · 0 comments · Fixed by #801 or #774
Closed

os-impl-no-symtab.c out of date #797

skliper opened this issue Feb 10, 2021 · 0 comments · Fixed by #801 or #774

Comments

@skliper
Copy link
Contributor

skliper commented Feb 10, 2021

Describe the bug
Conflicting types for the implementations

To Reproduce
Attempt to compile w/ os-impl-no-symtab.c: OSAL_CONFIG_INCLUDE_DYNAMIC_LOADER FALSE

Expected behavior
Should compile

Code snips
Many of the implementations don't match, sample:

src/os/portable/os-impl-no-symtab.c:55:7: error: conflicting types for ‘OS_ModuleSymbolLookup_Impl’
 int32 OS_ModuleSymbolLookup_Impl(uint32 local_id, cpuaddr *SymbolAddress, const char *SymbolName)
src/os/shared/inc/os-shared-module.h:115:7: note: previous declaration of ‘OS_ModuleSymbolLookup_Impl’ was here
 int32 OS_ModuleSymbolLookup_Impl(const OS_object_token_t *token, cpuaddr *SymbolAddress, const char *SymbolName);

System observed on:

  • Hardware: cFS Dev Server
  • OS: Ubuntu 18.04
  • Versions cFS Bundle

Additional context
Seen when adding a coverage test for this code (#795), #796

Reporter Info
Jacob Hageman - NASA/GSFC

@skliper skliper added the bug label Feb 10, 2021
@skliper skliper added this to the 6.0.0 milestone Feb 10, 2021
@skliper skliper self-assigned this Feb 10, 2021
skliper added a commit to skliper/osal that referenced this issue Feb 10, 2021
astrogeco added a commit that referenced this issue Feb 12, 2021
Fix #797, Update os-impl-no-symtab.c to match APIs
jphickey added a commit to jphickey/osal that referenced this issue Aug 10, 2022
Introduce wrapper/accessor functions to look up table
entries by ID for Executive Services subsystem.

__Do not use AppID as a table index__.

Note - This does not change existing external APIs and AppIDs
are still zero-based uint32.  This only changes the internal
structures to remove use of ID as an array index, and to use a lookup
function to locate the table entry from an ID.  All entry access
is then performed via the table entry pointer, rather than
as an array index.

This provides the groundwork for abstract IDs without actually
changing anything fundamental about resource IDs.
jphickey added a commit to jphickey/osal that referenced this issue Aug 10, 2022
Update the EVS subsystem to follow the ES pattern for
internal table management.

Do not use AppID directly as a table index.  Instead,
use a separate lookup routine to get a pointer to the
entry, then access the entry via the pointer.

Also introduce inline helper functions to get/set
status of entry (free/not free), etc.
jphickey added a commit to jphickey/osal that referenced this issue Aug 10, 2022
Minor fixup for use of IDs when logging
jphickey added a commit to jphickey/osal that referenced this issue Aug 10, 2022
Change SB to get its task ID from ES rather than getting
it directly from OSAL.  Update syslog calls to use the
ES-supplied conversion to integer rather than direct cast.
jphickey added a commit to jphickey/osal that referenced this issue Aug 10, 2022
Update TBL to use the new ES-supplied ID manipulations.  Update
all syslog calls to convert to integer using ES wrapper.
jphickey added a commit to jphickey/osal that referenced this issue Aug 10, 2022
Update the TIME subsystem to use the new ES-supplied ID
abstractions.  Do not use AppID directly as array index
when registering sync callbacks, use the ES-supplied
conversion to array index before accessing local table.

Also update logging to use ES-supplied conversion
jphickey pushed a commit to jphickey/osal that referenced this issue Aug 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants