Fix the bug that ABI linker loads input files more than once
Test: development/vndk/tools/header-checker/tests/test.py
Bug: 147396457
Change-Id: I8a6adc4ae5d0a75cbeca3053b5ae9b5b0e997d7a
diff --git a/vndk/tools/header-checker/src/linker/header_abi_linker.cpp b/vndk/tools/header-checker/src/linker/header_abi_linker.cpp
index 802241c..1ab50ba 100644
--- a/vndk/tools/header-checker/src/linker/header_abi_linker.cpp
+++ b/vndk/tools/header-checker/src/linker/header_abi_linker.cpp
@@ -193,7 +193,7 @@
break;
}
std::size_t end = std::min(i + kSourcesPerBatchThread, num_sources);
- for (auto it = begin_it; it != begin_it + end; it++) {
+ for (auto it = begin_it + i; it != begin_it + end; it++) {
std::unique_ptr<repr::IRReader> reader =
repr::IRReader::CreateIRReader(input_format, exported_headers);
assert(reader != nullptr);
@@ -201,7 +201,6 @@
llvm::errs() << "ReadDump failed\n";
::exit(1);
}
- // This merge is needed since the iterators might not be contigous.
local_reader->MergeGraphs(*reader);
}
}