From 3742b19b368eb371e2fd8fefc388a8ca65a3113d Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Fri, 7 Sep 2012 14:20:52 -0500 Subject: [PATCH] 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. --- src/base/loader/elf_object.cc | 1 + src/base/loader/object_file.cc | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/base/loader/elf_object.cc b/src/base/loader/elf_object.cc index e48678bbb..f6a18db8a 100644 --- a/src/base/loader/elf_object.cc +++ b/src/base/loader/elf_object.cc @@ -248,6 +248,7 @@ ElfObject::ElfObject(const string &_filename, int _fd, // initialize segment sizes to 0 in case they're not present text.size = data.size = bss.size = 0; + text.baseAddr = data.baseAddr = bss.baseAddr = 0; int secIdx = 1; Elf_Scn *section; diff --git a/src/base/loader/object_file.cc b/src/base/loader/object_file.cc index 420611d83..80fc9c2f9 100644 --- a/src/base/loader/object_file.cc +++ b/src/base/loader/object_file.cc @@ -53,7 +53,7 @@ ObjectFile::ObjectFile(const string &_filename, int _fd, size_t _len, uint8_t *_data, Arch _arch, OpSys _opSys) : filename(_filename), descriptor(_fd), fileData(_data), len(_len), - arch(_arch), opSys(_opSys) + arch(_arch), opSys(_opSys), globalPtr(0) { } -- 2.30.2