Просмотр исходного кода

loader: elf: Fix process initialization using ProgramMetadata default.

bunnei 6 лет назад
Родитель
Сommit
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);
     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);
 
     is_loaded = true;