mirror of
https://github.com/reactos/reactos.git
synced 2025-07-24 20:53:54 +00:00
Fix the -sections option of PEFIXUP tool and adapt RBUILD to use it.
svn path=/trunk/; revision=16974
This commit is contained in:
parent
db35c17756
commit
29532ce6f6
3 changed files with 33 additions and 16 deletions
|
@ -332,9 +332,6 @@ int main(int argc, char **argv)
|
||||||
i < nt_header->OptionalHeader.NumberOfRvaAndSizes;
|
i < nt_header->OptionalHeader.NumberOfRvaAndSizes;
|
||||||
i++, section_header++)
|
i++, section_header++)
|
||||||
{
|
{
|
||||||
if (section_header->VirtualAddress)
|
|
||||||
break;
|
|
||||||
|
|
||||||
if (!strcmp(section_header->Name, ".text") ||
|
if (!strcmp(section_header->Name, ".text") ||
|
||||||
!strcmp(section_header->Name, ".data") ||
|
!strcmp(section_header->Name, ".data") ||
|
||||||
!strcmp(section_header->Name, ".idata") ||
|
!strcmp(section_header->Name, ".idata") ||
|
||||||
|
|
|
@ -1412,7 +1412,8 @@ MingwModuleHandler::GenerateLinkerCommand (
|
||||||
const string& linker,
|
const string& linker,
|
||||||
const string& linkerParameters,
|
const string& linkerParameters,
|
||||||
const string& objectsMacro,
|
const string& objectsMacro,
|
||||||
const string& libsMacro )
|
const string& libsMacro,
|
||||||
|
const string& pefixupParameters )
|
||||||
{
|
{
|
||||||
string target ( GetTargetMacro ( module ) );
|
string target ( GetTargetMacro ( module ) );
|
||||||
string target_folder ( GetDirectory ( GetTargetFilename ( module, NULL ) ) );
|
string target_folder ( GetDirectory ( GetTargetFilename ( module, NULL ) ) );
|
||||||
|
@ -1451,8 +1452,9 @@ MingwModuleHandler::GenerateLinkerCommand (
|
||||||
GetLinkerMacro ().c_str () );
|
GetLinkerMacro ().c_str () );
|
||||||
|
|
||||||
fprintf ( fMakefile,
|
fprintf ( fMakefile,
|
||||||
"\t$(Q)$(PEFIXUP_TARGET) %s -exports\n",
|
"\t$(Q)$(PEFIXUP_TARGET) %s -exports %s\n",
|
||||||
target.c_str () );
|
target.c_str (),
|
||||||
|
pefixupParameters.c_str() );
|
||||||
|
|
||||||
fprintf ( fMakefile,
|
fprintf ( fMakefile,
|
||||||
"\t-@${rm} %s 2>$(NUL)\n",
|
"\t-@${rm} %s 2>$(NUL)\n",
|
||||||
|
@ -1468,6 +1470,14 @@ MingwModuleHandler::GenerateLinkerCommand (
|
||||||
objectsMacro.c_str (),
|
objectsMacro.c_str (),
|
||||||
libsMacro.c_str (),
|
libsMacro.c_str (),
|
||||||
GetLinkerMacro ().c_str () );
|
GetLinkerMacro ().c_str () );
|
||||||
|
|
||||||
|
if ( pefixupParameters.length() != 0 )
|
||||||
|
{
|
||||||
|
fprintf ( fMakefile,
|
||||||
|
"\t$(Q)$(PEFIXUP_TARGET) %s -exports %s\n",
|
||||||
|
target.c_str (),
|
||||||
|
pefixupParameters.c_str() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GenerateBuildMapCode ();
|
GenerateBuildMapCode ();
|
||||||
|
@ -2166,7 +2176,8 @@ MingwKernelModuleHandler::GenerateKernelModuleTarget ()
|
||||||
"${gcc}",
|
"${gcc}",
|
||||||
linkerParameters,
|
linkerParameters,
|
||||||
objectsMacro,
|
objectsMacro,
|
||||||
libsMacro );
|
libsMacro,
|
||||||
|
"-sections" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2252,7 +2263,8 @@ MingwKernelModeDLLModuleHandler::GenerateKernelModeDLLModuleTarget ()
|
||||||
"${gcc}",
|
"${gcc}",
|
||||||
linkerParameters,
|
linkerParameters,
|
||||||
objectsMacro,
|
objectsMacro,
|
||||||
libsMacro );
|
libsMacro,
|
||||||
|
"-sections" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2299,7 +2311,8 @@ MingwKernelModeDriverModuleHandler::GenerateKernelModeDriverModuleTarget ()
|
||||||
"${gcc}",
|
"${gcc}",
|
||||||
linkerParameters,
|
linkerParameters,
|
||||||
objectsMacro,
|
objectsMacro,
|
||||||
libsMacro );
|
libsMacro,
|
||||||
|
"-sections" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2345,7 +2358,8 @@ MingwNativeDLLModuleHandler::GenerateNativeDLLModuleTarget ()
|
||||||
"${gcc}",
|
"${gcc}",
|
||||||
linkerParameters,
|
linkerParameters,
|
||||||
objectsMacro,
|
objectsMacro,
|
||||||
libsMacro );
|
libsMacro,
|
||||||
|
"" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2391,7 +2405,8 @@ MingwNativeCUIModuleHandler::GenerateNativeCUIModuleTarget ()
|
||||||
"${gcc}",
|
"${gcc}",
|
||||||
linkerParameters,
|
linkerParameters,
|
||||||
objectsMacro,
|
objectsMacro,
|
||||||
libsMacro );
|
libsMacro,
|
||||||
|
"" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2443,7 +2458,8 @@ MingwWin32DLLModuleHandler::GenerateWin32DLLModuleTarget ()
|
||||||
linker,
|
linker,
|
||||||
linkerParameters,
|
linkerParameters,
|
||||||
objectsMacro,
|
objectsMacro,
|
||||||
libsMacro );
|
libsMacro,
|
||||||
|
"" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2495,7 +2511,8 @@ MingwWin32CUIModuleHandler::GenerateWin32CUIModuleTarget ()
|
||||||
linker,
|
linker,
|
||||||
linkerParameters,
|
linkerParameters,
|
||||||
objectsMacro,
|
objectsMacro,
|
||||||
libsMacro );
|
libsMacro,
|
||||||
|
"" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2547,7 +2564,8 @@ MingwWin32GUIModuleHandler::GenerateWin32GUIModuleTarget ()
|
||||||
linker,
|
linker,
|
||||||
linkerParameters,
|
linkerParameters,
|
||||||
objectsMacro,
|
objectsMacro,
|
||||||
libsMacro );
|
libsMacro,
|
||||||
|
"" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -3046,7 +3064,8 @@ MingwTestModuleHandler::GenerateTestModuleTarget ()
|
||||||
linker,
|
linker,
|
||||||
linkerParameters,
|
linkerParameters,
|
||||||
objectsMacro,
|
objectsMacro,
|
||||||
libsMacro );
|
libsMacro,
|
||||||
|
"" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -113,7 +113,8 @@ protected:
|
||||||
const std::string& linker,
|
const std::string& linker,
|
||||||
const std::string& linkerParameters,
|
const std::string& linkerParameters,
|
||||||
const std::string& objectsMacro,
|
const std::string& objectsMacro,
|
||||||
const std::string& libsMacro );
|
const std::string& libsMacro,
|
||||||
|
const std::string& pefixupParameters );
|
||||||
void GeneratePhonyTarget() const;
|
void GeneratePhonyTarget() const;
|
||||||
void GenerateRules ();
|
void GenerateRules ();
|
||||||
void GenerateImportLibraryTargetIfNeeded ();
|
void GenerateImportLibraryTargetIfNeeded ();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue