Exit normally when relocations are already packed.
Bug: http://b/18051137
Change-Id: Idfffac5fe965e3cdeabe6d3b2dcd8c275c6ae5df
diff --git a/tools/relocation_packer/src/elf_file.cc b/tools/relocation_packer/src/elf_file.cc
index fb74233..c8ddde6 100644
--- a/tools/relocation_packer/src/elf_file.cc
+++ b/tools/relocation_packer/src/elf_file.cc
@@ -618,8 +618,8 @@
typedef typename ELF::Rela Rela;
if (has_android_relocations_) {
- LOG(ERROR) << "Relocation table is already packed";
- return false;
+ LOG(INFO) << "Relocation table is already packed";
+ return true;
}
// If no relocations then we have nothing packable. Perhaps
diff --git a/tools/relocation_packer/src/elf_file_unittest.cc b/tools/relocation_packer/src/elf_file_unittest.cc
index 5271eef..32f7968 100644
--- a/tools/relocation_packer/src/elf_file_unittest.cc
+++ b/tools/relocation_packer/src/elf_file_unittest.cc
@@ -103,8 +103,8 @@
static void ProcessUnpack(FILE* relocs_so, FILE* packed_relocs_so) {
relocation_packer::ElfFile<ELF> elf_file(fileno(packed_relocs_so));
- // Ensure packing fails (already packed).
- EXPECT_FALSE(elf_file.PackRelocations());
+ // Ensure packing already packed elf-file does not fail the build.
+ EXPECT_TRUE(elf_file.PackRelocations());
// Unpack golden relocations, and check files are now identical.
EXPECT_TRUE(elf_file.UnpackRelocations());