diff --git a/vndk/tools/header-checker/src/diff/abi_diff.cpp b/vndk/tools/header-checker/src/diff/abi_diff.cpp index 8a2ccf9d2..cfd559c07 100644 --- a/vndk/tools/header-checker/src/diff/abi_diff.cpp +++ b/vndk/tools/header-checker/src/diff/abi_diff.cpp @@ -382,8 +382,11 @@ bool HeaderAbiDiff::DumpDiffElements( const T *old_element = pair.first; const T *new_element = pair.second; + // The old and new linker set keys are supposed to be equal. if (IgnoreSymbol(old_element, ignored_symbols_, - [](const T *e) {return e->GetLinkerSetKey();})) { + [](const T *e) { return e->GetLinkerSetKey(); }) || + ignored_linker_set_keys_.find(old_element->GetLinkerSetKey()) != + ignored_linker_set_keys_.end()) { continue; } diff --git a/vndk/tools/header-checker/src/diff/abi_diff_wrappers.cpp b/vndk/tools/header-checker/src/diff/abi_diff_wrappers.cpp index 87ac0fe6d..0b2d0b1ac 100644 --- a/vndk/tools/header-checker/src/diff/abi_diff_wrappers.cpp +++ b/vndk/tools/header-checker/src/diff/abi_diff_wrappers.cpp @@ -32,10 +32,6 @@ template <> bool DiffWrapper::DumpDiff( repr::DiffMessageIR::DiffKind diff_kind) { std::deque type_queue; - if (oldp_->GetLinkerSetKey() != newp_->GetLinkerSetKey()) { - llvm::errs() << "Comparing two different unreferenced records\n"; - return false; - } if (!type_cache_->insert( oldp_->GetSelfType() + newp_->GetSelfType()).second) { return true; @@ -48,10 +44,6 @@ template <> bool DiffWrapper::DumpDiff( repr::DiffMessageIR::DiffKind diff_kind) { std::deque type_queue; - if (oldp_->GetLinkerSetKey() != newp_->GetLinkerSetKey()) { - llvm::errs() << "Comparing two different unreferenced enums\n"; - return false; - } if (!type_cache_->insert( oldp_->GetSelfType() + newp_->GetSelfType()).second) { return true; diff --git a/vndk/tools/header-checker/tests/test.py b/vndk/tools/header-checker/tests/test.py index 7c0f43c7f..fd9a93153 100755 --- a/vndk/tools/header-checker/tests/test.py +++ b/vndk/tools/header-checker/tests/test.py @@ -178,6 +178,10 @@ class HeaderCheckerTest(unittest.TestCase): def test_libgolden_cpp_return_type_diff(self): self.prepare_and_run_abi_diff_all_archs( "libgolden_cpp", "libgolden_cpp_return_type_diff", 8) + self.prepare_and_run_abi_diff_all_archs( + "libgolden_cpp", "libgolden_cpp_return_type_diff", 0, + ["-ignore-linker-set-key", "_ZN17HighVolumeSpeaker6ListenEv", + "-ignore-linker-set-key", "_ZN16LowVolumeSpeaker6ListenEv"]) def test_libgolden_cpp_add_odr(self): self.prepare_and_run_abi_diff_all_archs(