From f537761b8dce72205647c326cbb2e42f8a05bc28 Mon Sep 17 00:00:00 2001 From: ReactOS Portable Systems Group Date: Tue, 12 Feb 2008 06:15:35 +0000 Subject: [PATCH] The kernel entrypoint is called KiSystemStartup, not NtProcessStartup. On ARM, don't prepend underscore to the kernel entrypoint. We now correctly jump into the kernel entrypoint, instead of random code! svn path=/trunk/; revision=32314 --- reactos/tools/rbuild/backend/mingw/modulehandler.cpp | 7 ++++--- reactos/tools/rbuild/module.cpp | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/reactos/tools/rbuild/backend/mingw/modulehandler.cpp b/reactos/tools/rbuild/backend/mingw/modulehandler.cpp index e283f6ed720..2de89cd16e2 100644 --- a/reactos/tools/rbuild/backend/mingw/modulehandler.cpp +++ b/reactos/tools/rbuild/backend/mingw/modulehandler.cpp @@ -2623,9 +2623,10 @@ MingwKernelModuleHandler::GenerateKernelModuleTarget () string dependencies = linkDepsMacro + " " + objectsMacro; - string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,%s", - module.GetEntryPoint(true).c_str (), - module.baseaddress.c_str () ); + string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,%s", + module.GetEntryPoint(!(Environment::GetArch() == "arm")).c_str (), + module.baseaddress.c_str () ); + GenerateLinkerCommand ( dependencies, "${gcc}", linkerParameters + " $(NTOSKRNL_SHARED)", diff --git a/reactos/tools/rbuild/module.cpp b/reactos/tools/rbuild/module.cpp index 2b030ce97cd..116ff669a9c 100644 --- a/reactos/tools/rbuild/module.cpp +++ b/reactos/tools/rbuild/module.cpp @@ -1033,7 +1033,7 @@ Module::GetDefaultModuleEntrypoint () const switch ( type ) { case Kernel: - return "NtProcessStartup"; + return "KiSystemStartup"; case KernelModeDLL: case KernelModeDriver: return "DriverEntry@8";