base: Convert ELF .text size check assertion to a warning
authorAndreas Sandberg <andreas.sandberg@arm.com>
Mon, 11 Jul 2016 09:39:30 +0000 (10:39 +0100)
committerAndreas Sandberg <andreas.sandberg@arm.com>
Mon, 11 Jul 2016 09:39:30 +0000 (10:39 +0100)
The ELF loader currently has an assertion that checks if the size of a
loaded .text secion is non-zero. This is useful in the general case as
an empty text section normally indicates that there is something
strange with the ELF file. However, asserting isn't very useful. This
changeset converts the assert into a warning that tells the user that
something strange is happening.

Change-Id: I313e17847b50a0eca00f6bd00a54c610d626c0f0
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Curtis Dunham <curtis.dunham@arm.com>
src/base/loader/elf_object.cc

index 73c1c5dcd2372059f03cf7703b3fc136ebc6602d..410cc1fde239d999dff3d4a115c561d9ce6332af 100644 (file)
@@ -383,7 +383,9 @@ ElfObject::ElfObject(const std::string &_filename, size_t _len,
     }
 
     // should have found at least one loadable segment
-    assert(text.size != 0);
+    warn_if(text.size != 0,
+            "Empty .text segment in '%s'. ELF file corrupted?\n",
+            filename);
 
     DPRINTFR(Loader, "text: 0x%x %d\ndata: 0x%x %d\nbss: 0x%x %d\n",
              text.baseAddr, text.size, data.baseAddr, data.size,