From 3a73fdd24401019aa0de8ae2070a213f6eedc5b8 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 9 Jul 2020 15:47:10 +0200 Subject: [PATCH] UserspaceEmulator: Start executing in _start() instead of main() This is one step closer to the real thing. :^) --- DevTools/UserspaceEmulator/main.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/DevTools/UserspaceEmulator/main.cpp b/DevTools/UserspaceEmulator/main.cpp index 8f72e03905..5b844fc839 100644 --- a/DevTools/UserspaceEmulator/main.cpp +++ b/DevTools/UserspaceEmulator/main.cpp @@ -48,15 +48,15 @@ int main(int argc, char** argv) auto elf = ELF::Loader::create((const u8*)mapped_file.data(), mapped_file.size()); - auto main_symbol = elf->find_demangled_function("main"); - if (!main_symbol.has_value()) { - warn() << "Could not find 'main' symbol in executable"; + auto _start_symbol = elf->find_demangled_function("_start"); + if (!_start_symbol.has_value()) { + warn() << "Could not find '_start' symbol in executable"; return 1; } - auto main_code = main_symbol.value().raw_data(); + auto main_code = _start_symbol.value().raw_data(); X86::SimpleInstructionStream stream((const u8*)main_code.characters_without_null_termination(), main_code.length()); UserspaceEmulator::Emulator emulator; - return emulator.exec(stream, main_symbol.value().value()); + return emulator.exec(stream, _start_symbol.value().value()); }