loader: initialize all memory in the ObjectFile objects.
Some bare metal build flows seem to build binaries that we aren't necessarily expecting. Initialize everything to 0, so we don't make any assumptions about what is or isn't in the binary.
This commit is contained in:
parent
8fc0cef611
commit
3742b19b36
2 changed files with 2 additions and 1 deletions
|
@ -248,6 +248,7 @@ ElfObject::ElfObject(const string &_filename, int _fd,
|
||||||
|
|
||||||
// initialize segment sizes to 0 in case they're not present
|
// initialize segment sizes to 0 in case they're not present
|
||||||
text.size = data.size = bss.size = 0;
|
text.size = data.size = bss.size = 0;
|
||||||
|
text.baseAddr = data.baseAddr = bss.baseAddr = 0;
|
||||||
|
|
||||||
int secIdx = 1;
|
int secIdx = 1;
|
||||||
Elf_Scn *section;
|
Elf_Scn *section;
|
||||||
|
|
|
@ -53,7 +53,7 @@ ObjectFile::ObjectFile(const string &_filename, int _fd,
|
||||||
size_t _len, uint8_t *_data,
|
size_t _len, uint8_t *_data,
|
||||||
Arch _arch, OpSys _opSys)
|
Arch _arch, OpSys _opSys)
|
||||||
: filename(_filename), descriptor(_fd), fileData(_data), len(_len),
|
: filename(_filename), descriptor(_fd), fileData(_data), len(_len),
|
||||||
arch(_arch), opSys(_opSys)
|
arch(_arch), opSys(_opSys), globalPtr(0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue