-fix msvc dll entrypoint

-fix PROJECT_LFLAGS
-added --enable-stdcall-fixup to PROJECT_LFLAGS

svn path=/trunk/; revision=22930
This commit is contained in:
Christoph von Wittich 2006-07-08 18:24:11 +00:00
parent 2002b5b96a
commit 3e7b4d7fc2
4 changed files with 8 additions and 8 deletions

View file

@ -420,8 +420,8 @@ MingwBackend::GenerateGlobalVariables () const
fprintf ( fMakefile, "PROJECT_RCFLAGS := $(PROJECT_CFLAGS)\n" );
fprintf ( fMakefile, "PROJECT_WIDLFLAGS := $(PROJECT_CFLAGS)\n" );
fprintf ( fMakefile, "PROJECT_LFLAGS := %s\n",
GenerateProjectLFLAGS ().c_str () );
fprintf ( fMakefile, "PROJECT_LFLAGS := %s %s\n",
GenerateProjectLFLAGS ().c_str (), "-Wl,--enable-stdcall-fixup" );
fprintf ( fMakefile, "PROJECT_CFLAGS += -Wall\n" );
fprintf ( fMakefile, "PROJECT_CFLAGS += $(PROJECT_GCCOPTIONS)\n" );
fprintf ( fMakefile, "\n" );

View file

@ -1564,15 +1564,15 @@ MingwModuleHandler::GenerateLinkerCommand (
killAt.c_str () );
fprintf ( fMakefile,
"\t%s %s %s %s -o %s %s %s %s\n",
"\t%s %s %s %s %s -o %s %s %s\n",
linker.c_str (),
GetLinkerMacro ().c_str (),
linkerParameters.c_str (),
linkerScriptArgument.c_str (),
temp_exp.c_str (),
target.c_str (),
objectsMacro.c_str (),
libsMacro.c_str (),
GetLinkerMacro ().c_str () );
libsMacro.c_str () );
fprintf ( fMakefile,
"\t$(Q)$(PEFIXUP_TARGET) %s -exports %s\n",

View file

@ -443,7 +443,7 @@ MSVCBackend::_generate_vcproj ( const Module& module )
}
else if ( dll )
{
fprintf ( OUT, "\t\t\t\tEntryPointSymbol=\"%s\"\r\n", module.GetEntryPoint(false) == "" ? "DllMain" : module.GetEntryPoint(false).c_str ());
fprintf ( OUT, "\t\t\t\tEntryPointSymbol=\"%s%s\"\r\n", module.GetEntryPoint(false) == "" ? "" : "_", module.GetEntryPoint(false) == "" ? "_DllMainCRTStartup@12" : module.GetEntryPoint(false).c_str ());
fprintf ( OUT, "\t\t\t\tBaseAddress=\"%s\"\r\n", baseaddr == "" ? "0x40000" : baseaddr.c_str ());
}
fprintf ( OUT, "\t\t\t\tTargetMachine=\"%d\"/>\r\n", 1 );

View file

@ -835,7 +835,7 @@ Module::GetDefaultModuleEntrypoint () const
case NativeCUI:
return "NtProcessStartup@4";
case Win32DLL:
return "DllMain@12";
return "DllMainCRTStartup@12";
case Win32CUI:
case Test:
if ( isUnicode )