mirror of
https://github.com/reactos/reactos.git
synced 2024-06-30 01:42:30 +00:00
- Revert a revert - KVM is broken
svn path=/trunk/; revision=54622
This commit is contained in:
parent
fac5897ff1
commit
c3ae29cc85
|
@ -431,34 +431,6 @@ FindSectionForRVA(DWORD RVA, unsigned NumberOfSections, PIMAGE_SECTION_HEADER Se
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
IncludeRelocationsForSection(PIMAGE_SECTION_HEADER SectionHeader)
|
|
||||||
{
|
|
||||||
static char *BlacklistedSections[] =
|
|
||||||
{
|
|
||||||
".edata",
|
|
||||||
".reloc"
|
|
||||||
};
|
|
||||||
char SectionName[IMAGE_SIZEOF_SHORT_NAME];
|
|
||||||
unsigned i;
|
|
||||||
|
|
||||||
if (0 != (SectionHeader->Characteristics & IMAGE_SCN_LNK_REMOVE))
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < sizeof(BlacklistedSections) / sizeof(BlacklistedSections[0]); i++)
|
|
||||||
{
|
|
||||||
strncpy(SectionName, BlacklistedSections[i], IMAGE_SIZEOF_SHORT_NAME);
|
|
||||||
if (0 == memcmp(SectionName, SectionHeader->Name, IMAGE_SIZEOF_SHORT_NAME))
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
ProcessRelocations(ULONG *ProcessedRelocsLength, void **ProcessedRelocs,
|
ProcessRelocations(ULONG *ProcessedRelocsLength, void **ProcessedRelocs,
|
||||||
void *RawData, PIMAGE_OPTIONAL_HEADER OptHeader,
|
void *RawData, PIMAGE_OPTIONAL_HEADER OptHeader,
|
||||||
|
@ -504,7 +476,7 @@ ProcessRelocations(ULONG *ProcessedRelocsLength, void **ProcessedRelocs,
|
||||||
{
|
{
|
||||||
TargetSectionHeader = FindSectionForRVA(BaseReloc->VirtualAddress, NumberOfSections,
|
TargetSectionHeader = FindSectionForRVA(BaseReloc->VirtualAddress, NumberOfSections,
|
||||||
SectionHeaders);
|
SectionHeaders);
|
||||||
if (NULL != TargetSectionHeader && IncludeRelocationsForSection(TargetSectionHeader))
|
if (NULL != TargetSectionHeader)
|
||||||
{
|
{
|
||||||
AcceptedRelocs = *ProcessedRelocs;
|
AcceptedRelocs = *ProcessedRelocs;
|
||||||
Found = 0;
|
Found = 0;
|
||||||
|
|
Loading…
Reference in a new issue