diff --git a/reactos/tools/rbuild/backend/mingw/modulehandler.cpp b/reactos/tools/rbuild/backend/mingw/modulehandler.cpp index 87901b84594..0b7a679fd0b 100644 --- a/reactos/tools/rbuild/backend/mingw/modulehandler.cpp +++ b/reactos/tools/rbuild/backend/mingw/modulehandler.cpp @@ -3546,12 +3546,24 @@ MingwBootLoaderModuleHandler::GenerateBootLoaderModuleTarget () fprintf ( fMakefile, "\t$(ECHO_LD)\n" ); - fprintf ( fMakefile, - "\t${gcc} -Wl,--subsystem,native -Wl,-Ttext,0x8000 -o %s %s %s %s\n", - backend->GetFullName ( junk_tmp ).c_str (), - objectsMacro.c_str (), - linkDepsMacro.c_str (), - GetLinkerMacro ().c_str ()); + if (Environment::GetArch() == "arm") + { + fprintf ( fMakefile, + "\t${gcc} -Wl,--subsystem,native -Wl,--section-start,startup=0x8000 -o %s %s %s %s\n", + backend->GetFullName ( junk_tmp ).c_str (), + objectsMacro.c_str (), + linkDepsMacro.c_str (), + GetLinkerMacro ().c_str ()); + } + else + { + fprintf ( fMakefile, + "\t${gcc} -Wl,--subsystem,native -Wl,-Ttext,0x8000 -o %s %s %s %s\n", + backend->GetFullName ( junk_tmp ).c_str (), + objectsMacro.c_str (), + linkDepsMacro.c_str (), + GetLinkerMacro ().c_str ()); + } fprintf ( fMakefile, "\t${objcopy} -O binary %s $@\n", backend->GetFullName ( junk_tmp ).c_str () );