Modules with dependencies expect symbols from other modules to be loaded and registered before they can do relocations and/or loading. Currently, the module dependencies only get respected in the final loading loop. But for ELF modules, this needs to happen before they even get registered.
Expected Behavior
When loading an ELF module, its dependencies should be parsable without any relocations.
It's currently not possible, since the strings are stored in a different table outside of ".mod".
Consider adding a ".mod.deps" section or something like that.
Steps to Reproduce
Enable a module with a dependency on another modules' symbols
If the modules aren't loaded from disk in the correct order by coincidence, the message
[Module] Failed to find symbol "<symbol>" will pop up
Architecture
N/A
Menix Version
No response
Affected Area
Drivers
Bug Description
Modules with dependencies expect symbols from other modules to be loaded and registered before they can do relocations and/or loading. Currently, the module dependencies only get respected in the final loading loop. But for ELF modules, this needs to happen before they even get registered.
Expected Behavior
When loading an ELF module, its dependencies should be parsable without any relocations. It's currently not possible, since the strings are stored in a different table outside of ".mod". Consider adding a ".mod.deps" section or something like that.
Steps to Reproduce
[Module] Failed to find symbol "<symbol>"
will pop up