Refactoring: move VersionTracker to link_image
Use one instance of VersionTracker per link (instead of 2).
Change-Id: I6860013df65f5969975c82ebdae8bd90a82e0a82
diff --git a/linker/linker_mips.cpp b/linker/linker_mips.cpp
index aaf8b5e..3402afe 100644
--- a/linker/linker_mips.cpp
+++ b/linker/linker_mips.cpp
@@ -32,25 +32,22 @@
#include "linker_reloc_iterators.h"
#include "linker_sleb128.h"
-template bool soinfo::relocate<plain_reloc_iterator>(plain_reloc_iterator&& rel_iterator,
+template bool soinfo::relocate<plain_reloc_iterator>(const VersionTracker& version_tracker,
+ plain_reloc_iterator&& rel_iterator,
const soinfo_list_t& global_group,
const soinfo_list_t& local_group);
template bool soinfo::relocate<packed_reloc_iterator<sleb128_decoder>>(
+ const VersionTracker& version_tracker,
packed_reloc_iterator<sleb128_decoder>&& rel_iterator,
const soinfo_list_t& global_group,
const soinfo_list_t& local_group);
template <typename ElfRelIteratorT>
-bool soinfo::relocate(ElfRelIteratorT&& rel_iterator,
+bool soinfo::relocate(const VersionTracker& version_tracker,
+ ElfRelIteratorT&& rel_iterator,
const soinfo_list_t& global_group,
const soinfo_list_t& local_group) {
- VersionTracker version_tracker;
-
- if (!version_tracker.init(this)) {
- return false;
- }
-
for (size_t idx = 0; rel_iterator.has_next(); ++idx) {
const auto rel = rel_iterator.next();