linker: handle relocation for exported modules

This commit is contained in:
panzone 2025-01-26 18:36:51 +01:00
parent 46b5437fdf
commit 9e881f0aed

View File

@ -109,13 +109,16 @@ public:
void RelocateAnyImports(Module* m) {
Relocate(m);
const auto exports = m->GetExportModules();
for (auto& export_mod : exports) {
for (auto& module : m_modules) {
const auto imports = module->GetImportModules();
if (std::ranges::contains(imports, m->name, &ModuleInfo::name)) {
if (std::ranges::contains(imports, export_mod.name, &ModuleInfo::name)) {
Relocate(module.get());
}
}
}
}
void LoadSharedLibraries() {
for (auto& module : m_modules) {