mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-26 19:33:31 +00:00
[OBJ2BIN] Use section flags instead of a hardcoded ".text" name (#5317)
A 32-bit ASM file can turn into an empty binary file in certain cases (compiled with MSVC). MASM/ML produces a ".text$mn" section instead of the ".text", which makes obj2bin generate an empty binary file. The problem didn't occur with our 16-bit artifacts (16-bit stubs, bootsectors...), because their object files all have similar sections pattern: the ".text" section and empty ".text$mn" section, which didn't matter since it is empty. On the contrary, the .text$mn section(s) aren't empty for 32-bit stubs.
This commit is contained in:
@@ -140,8 +140,9 @@ int main(int argc, char *argv[])
|
||||
/* Loop all sections */
|
||||
for (i = 0; i < pFileHeader->NumberOfSections; i++)
|
||||
{
|
||||
/* Check if this is '.text' section */
|
||||
if ((strcmp((char*)pSectionHeader->Name, ".text") == 0) &&
|
||||
/* Check if this is a section with executable code */
|
||||
if (((pSectionHeader->Characteristics & (IMAGE_SCN_CNT_CODE | IMAGE_SCN_MEM_EXECUTE)) ==
|
||||
(IMAGE_SCN_CNT_CODE | IMAGE_SCN_MEM_EXECUTE)) &&
|
||||
(pSectionHeader->SizeOfRawData != 0))
|
||||
{
|
||||
if (!RelocateSection(pData,
|
||||
|
||||
Reference in New Issue
Block a user