Переглянути джерело

loader: elf: Fix process initialization using ProgramMetadata default.

bunnei 6 роки тому
батько
коміт
68039addbc
1 змінених файлів з 5 додано та 0 видалено
  1. 5 0
      src/core/loader/elf.cpp

+ 5 - 0
src/core/loader/elf.cpp

@@ -398,6 +398,11 @@ AppLoader_ELF::LoadResult AppLoader_ELF::Load(Kernel::Process& process) {
     Kernel::CodeSet codeset = elf_reader.LoadInto(base_address);
     Kernel::CodeSet codeset = elf_reader.LoadInto(base_address);
     const VAddr entry_point = codeset.entrypoint;
     const VAddr entry_point = codeset.entrypoint;
 
 
+    // Setup the process code layout
+    if (process.LoadFromMetadata(FileSys::ProgramMetadata::GetDefault(), buffer.size()).IsError()) {
+        return {ResultStatus::ErrorNotInitialized, {}};
+    }
+
     process.LoadModule(std::move(codeset), entry_point);
     process.LoadModule(std::move(codeset), entry_point);
 
 
     is_loaded = true;
     is_loaded = true;