In RuntimeDyldImpl::emitSection, make Allocate (section size to be allocated) a

uintptr_t. An unsigned could overflow for large sections.

No test case - anything big enough to overflow an unsigned is going to take an
appreciable time to zero when the test passes.

The choice of uintptr_t was made to match the RTDyldMemoryManager APIs, but
these should probably be hardcoded to uint64_ts: It is legitimate to JIT for
64-bit targets from a 32-bit host/compiler.

llvm-svn: 201127
This commit is contained in:
Lang Hames 2014-02-11 05:28:24 +00:00
parent 3f6954ffd0
commit d41001706a
1 changed files with 1 additions and 1 deletions

View File

@ -298,7 +298,7 @@ unsigned RuntimeDyldImpl::emitSection(ObjectImage &Obj,
if (Name == ".eh_frame")
PaddingSize = 4;
unsigned Allocate;
uintptr_t Allocate;
unsigned SectionID = Sections.size();
uint8_t *Addr;
const char *pData = 0;