Merge "Add a 'unique id' for TagDecls for type uniquing."
diff --git a/vndk/tools/header-checker/header-abi-diff/src/abi_diff_wrappers.cpp b/vndk/tools/header-checker/header-abi-diff/src/abi_diff_wrappers.cpp
index ed3ccfe..e4d7546 100644
--- a/vndk/tools/header-checker/header-abi-diff/src/abi_diff_wrappers.cpp
+++ b/vndk/tools/header-checker/header-abi-diff/src/abi_diff_wrappers.cpp
@@ -97,7 +97,7 @@
     const abi_util::EnumTypeIR *old_type, const abi_util::EnumTypeIR *new_type,
      std::deque<std::string> *type_queue,
      abi_util::DiffMessageIR::DiffKind diff_kind) {
-  if (old_type->GetName() != new_type->GetName()) {
+  if (old_type->GetUniqueId() != new_type->GetUniqueId()) {
     return DiffStatus::direct_diff;
   }
   auto enum_type_diff_ir = std::make_unique<abi_util::EnumTypeDiffIR>();
@@ -301,7 +301,7 @@
     abi_util::DiffMessageIR::DiffKind diff_kind) {
   auto record_type_diff_ir = std::make_unique<abi_util::RecordTypeDiffIR>();
   // Compare names.
-  if (old_type->GetName() != new_type->GetName()) {
+  if (old_type->GetUniqueId() != new_type->GetUniqueId()) {
     // Do not dump anything since the record types themselves are fundamentally
     // different.
     return DiffStatus::direct_diff;
diff --git a/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.cpp b/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.cpp
index 391c92a..dd654cc 100644
--- a/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.cpp
+++ b/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.cpp
@@ -143,6 +143,29 @@
       ir_dumper_->AddLinkableMessageIR(typep.get());
 }
 
+std::string RecordDeclWrapper::GetMangledRTTI(
+    const clang::CXXRecordDecl *cxx_record_decl) {
+  clang::QualType qual_type =
+      cxx_record_decl->getTypeForDecl()->getCanonicalTypeInternal();
+  llvm::SmallString<256> uid;
+  llvm::raw_svector_ostream out(uid);
+  mangle_contextp_->mangleCXXRTTI(qual_type, out);
+  return uid.str();
+}
+
+std::string ABIWrapper::GetTypeUniqueId(const clang::TagDecl *tag_decl) {
+  clang::QualType qual_type =
+      tag_decl->getTypeForDecl()->getCanonicalTypeInternal();
+  // We need to mangle type names for C++ contexts.
+  if (!tag_decl->isExternCContext() && ast_contextp_->getLangOpts().CPlusPlus) {
+    llvm::SmallString<256> uid;
+    llvm::raw_svector_ostream out(uid);
+    mangle_contextp_->mangleCXXRTTIName(qual_type, out);
+    return uid.str();
+  }
+  return ABIWrapper::QualTypeToString(qual_type);
+}
+
 // CreateBasicNamedAndTypedDecl creates a BasicNamedAndTypedDecl : that'll
 // include all the generic information a basic type will have:
 // abi_dump::BasicNamedAndTypedDecl. Other methods fill in more specific
@@ -564,8 +587,7 @@
         const clang::CXXRecordDecl *rtti_decl =
             vtable_component.getRTTIDecl();
         assert(rtti_decl != nullptr);
-        mangled_component_name =
-            ABIWrapper::GetTypeLinkageName(rtti_decl->getTypeForDecl());
+        mangled_component_name = GetMangledRTTI(rtti_decl);
       }
       break;
     case clang::VTableComponent::CK_FunctionPointer:
@@ -663,6 +685,7 @@
     previous_record_stages_ = record_qual_type_str;
     record_declp->SetLinkerSetKey(record_qual_type_str);
   }
+  record_declp->SetUniqueId(GetTypeUniqueId(record_decl_));
   record_declp->SetAccess(AccessClangToIR(record_decl_->getAccess()));
   return SetupRecordFields(record_declp, source_file) &&
       SetupCXXRecordInfo(record_declp, source_file);
@@ -727,6 +750,7 @@
   enum_type->SetSourceFile(source_file);
   enum_type->SetUnderlyingType(QualTypeToString(enum_decl_->getIntegerType()));
   enum_type->SetAccess(AccessClangToIR(enum_decl_->getAccess()));
+  enum_type->SetUniqueId(GetTypeUniqueId(enum_decl_));
   return SetupEnumFields(enum_type) &&
       CreateBasicNamedAndTypedDecl(enum_decl_->getIntegerType(), "");
 }
diff --git a/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.h b/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.h
index af222b0..e97f798 100644
--- a/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.h
+++ b/vndk/tools/header-checker/header-abi-dumper/src/abi_wrappers.h
@@ -44,6 +44,7 @@
 
   static std::string GetMangledNameDecl(const clang::NamedDecl *decl,
                                         clang::MangleContext *mangle_context);
+
  protected:
   abi_dump::AccessSpecifier AccessClangToDump(
       const clang::AccessSpecifier sp);
@@ -76,6 +77,7 @@
   std::unique_ptr<abi_util::TypeIR> SetTypeKind(const clang::QualType qtype,
                                                 const std::string &source_file);
 
+  std::string GetTypeUniqueId(const clang::TagDecl *tag_decl);
 
  protected:
   const clang::CompilerInstance *cip_;
@@ -118,6 +120,9 @@
 
   bool SetupRecordVTable(abi_util::RecordTypeIR *record_declp,
                          const clang::CXXRecordDecl *cxx_record_decl);
+
+  std::string GetMangledRTTI(const clang::CXXRecordDecl *cxx_record_decl);
+
   abi_util::VTableComponentIR SetupRecordVTableComponent(
       const clang::VTableComponent &vtable_component);
 
diff --git a/vndk/tools/header-checker/header-abi-util/include/ir_representation.h b/vndk/tools/header-checker/header-abi-util/include/ir_representation.h
index 2fd4305..03cfde0 100644
--- a/vndk/tools/header-checker/header-abi-util/include/ir_representation.h
+++ b/vndk/tools/header-checker/header-abi-util/include/ir_representation.h
@@ -164,6 +164,20 @@
   uint32_t alignment_;
 };
 
+class TagTypeIR {
+ public:
+  const std::string &GetUniqueId() const {
+    return unique_id_;
+  }
+
+  void SetUniqueId(const std::string &unique_id) {
+    unique_id_ = unique_id;
+  }
+
+ protected:
+   std::string unique_id_;
+};
+
 class VTableComponentIR {
  public:
   enum Kind {
@@ -322,7 +336,8 @@
   AccessSpecifierIR access_;
 };
 
-class RecordTypeIR: public TypeIR, public TemplatedArtifactIR {
+class RecordTypeIR: public TypeIR, public TemplatedArtifactIR,
+  public TagTypeIR {
  public:
   enum RecordKind {
     struct_kind,
@@ -418,7 +433,7 @@
   int value_;
 };
 
-class EnumTypeIR : public TypeIR {
+class EnumTypeIR : public TypeIR, public TagTypeIR {
  public:
   // Add Methods to get information from the IR.
   void AddEnumField(EnumFieldIR &&field) {
diff --git a/vndk/tools/header-checker/header-abi-util/include/ir_representation_protobuf.h b/vndk/tools/header-checker/header-abi-util/include/ir_representation_protobuf.h
index b34255b..7949614 100644
--- a/vndk/tools/header-checker/header-abi-util/include/ir_representation_protobuf.h
+++ b/vndk/tools/header-checker/header-abi-util/include/ir_representation_protobuf.h
@@ -186,6 +186,9 @@
   static bool AddVTableLayout(
       abi_dump::RecordType *record_protobuf, const RecordTypeIR *record_ir);
 
+  static bool AddTagTypeInfo(abi_dump::TagType *tag_type_protobuf,
+                             const TagTypeIR *tag_type_ir);
+
   static bool AddEnumFields(abi_dump::EnumType *enum_protobuf,
                             const EnumTypeIR *enum_ir);
  public:
diff --git a/vndk/tools/header-checker/header-abi-util/src/ir_representation_protobuf.cpp b/vndk/tools/header-checker/header-abi-util/src/ir_representation_protobuf.cpp
index ef8c582..3dbc0cd 100644
--- a/vndk/tools/header-checker/header-abi-util/src/ir_representation_protobuf.cpp
+++ b/vndk/tools/header-checker/header-abi-util/src/ir_representation_protobuf.cpp
@@ -156,7 +156,8 @@
       record_type_protobuf.base_specifiers()));
   record_type_ir.SetRecordKind(
       RecordKindProtobufToIR(record_type_protobuf.record_kind()));
-
+  record_type_ir.SetAnonymity(record_type_protobuf.is_anonymous());
+  record_type_ir.SetUniqueId(record_type_protobuf.tag_info().unique_id());
   return record_type_ir;
 }
 
@@ -179,6 +180,7 @@
   enum_type_ir.SetAccess(AccessProtobufToIR(enum_type_protobuf.access()));
   enum_type_ir.SetFields(
       EnumFieldsProtobufToIR(enum_type_protobuf.enum_fields()));
+  enum_type_ir.SetUniqueId(enum_type_protobuf.tag_info().unique_id());
   return enum_type_ir;
 }
 
@@ -462,6 +464,16 @@
   return true;
 }
 
+bool IRToProtobufConverter::AddTagTypeInfo(
+    abi_dump::TagType *tag_type_protobuf,
+    const abi_util::TagTypeIR *tag_type_ir) {
+  if (!tag_type_protobuf || !tag_type_ir) {
+    return false;
+  }
+  tag_type_protobuf->set_unique_id(tag_type_ir->GetUniqueId());
+  return true;
+}
+
 abi_dump::RecordType IRToProtobufConverter::ConvertRecordTypeIR(
     const RecordTypeIR *recordp) {
   abi_dump::RecordType added_record_type;
@@ -475,6 +487,7 @@
       !AddRecordFields(&added_record_type, recordp) ||
       !AddBaseSpecifiers(&added_record_type, recordp) ||
       !AddVTableLayout(&added_record_type, recordp) ||
+      !AddTagTypeInfo(added_record_type.mutable_tag_info(), recordp) ||
       !(recordp->GetTemplateElements().size() ?
        AddTemplateInformation(added_record_type.mutable_template_info(),
                               recordp) : true)) {
@@ -561,7 +574,8 @@
   added_enum_type.set_access(AccessIRToProtobuf(enump->GetAccess()));
   added_enum_type.set_underlying_type(enump->GetUnderlyingType());
   if (!AddTypeInfo(added_enum_type.mutable_type_info(), enump) ||
-      !AddEnumFields(&added_enum_type, enump)) {
+      !AddEnumFields(&added_enum_type, enump) ||
+      !AddTagTypeInfo(added_enum_type.mutable_tag_info(), enump)) {
     llvm::errs() << "EnumTypeIR could not be converted\n";
     ::exit(1);
   }
diff --git a/vndk/tools/header-checker/proto/abi_dump.proto b/vndk/tools/header-checker/proto/abi_dump.proto
index 870329c..2d1772b 100644
--- a/vndk/tools/header-checker/proto/abi_dump.proto
+++ b/vndk/tools/header-checker/proto/abi_dump.proto
@@ -119,6 +119,10 @@
   repeated VTableComponent vtable_components = 1;
 }
 
+message TagType {
+  optional string unique_id = 1 [default = ""];
+}
+
 message RecordType {
   optional BasicNamedAndTypedDecl type_info = 1;
   repeated RecordFieldDecl fields = 2;
@@ -128,6 +132,7 @@
   optional AccessSpecifier access = 8 [default = public_access];
   optional bool is_anonymous = 9;
   optional RecordKind record_kind = 10 [default = struct_kind];
+  optional TagType tag_info = 11;
 }
 
 message EnumType {
@@ -135,6 +140,7 @@
   optional string underlying_type = 2;
   repeated EnumFieldDecl enum_fields = 3;
   optional AccessSpecifier access = 4 [default = public_access];
+  optional TagType tag_info = 5;
 }
 
 message GlobalVarDecl {
diff --git a/vndk/tools/header-checker/tests/expected/example1.cpp b/vndk/tools/header-checker/tests/expected/example1.cpp
index 39f03d2..d1f79a4 100644
--- a/vndk/tools/header-checker/tests/expected/example1.cpp
+++ b/vndk/tools/header-checker/tests/expected/example1.cpp
@@ -21,6 +21,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS10HiddenBase"
+  }
 }
 record_types {
   type_info {
@@ -51,7 +54,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "test2::HelloAgain"
+      mangled_component_name: "_ZTIN5test210HelloAgainE"
       component_value: 0
     }
     vtable_components {
@@ -72,6 +75,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTSN5test210HelloAgainE"
+  }
 }
 record_types {
   type_info {
@@ -101,6 +107,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTSN5test38ByeAgainIdEE"
+  }
 }
 record_types {
   type_info {
@@ -130,6 +139,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTSN5test38ByeAgainIfEE"
+  }
 }
 record_types {
   type_info {
@@ -148,6 +160,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTSN5test35OuterE"
+  }
 }
 record_types {
   type_info {
@@ -166,6 +181,9 @@
   }
   access: private_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTSN5test35Outer5InnerE"
+  }
 }
 record_types {
   type_info {
@@ -185,6 +203,9 @@
   access: public_access
   is_anonymous: true
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Hello::(anonymous)::(anonymous)"
+  }
 }
 record_types {
   type_info {
@@ -216,6 +237,9 @@
   access: public_access
   is_anonymous: true
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Hello::(anonymous)"
+  }
 }
 record_types {
   type_info {
@@ -264,6 +288,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Hello"
+  }
 }
 record_types {
   type_info {
@@ -304,7 +331,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "CPPHello"
+      mangled_component_name: "_ZTI8CPPHello"
       component_value: 0
     }
     vtable_components {
@@ -325,6 +352,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTS8CPPHello"
+  }
 }
 record_types {
   type_info {
@@ -348,6 +378,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS4ListIfE"
+  }
 }
 record_types {
   type_info {
@@ -378,6 +411,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTSN4ListIfE5_NodeE"
+  }
 }
 record_types {
   type_info {
@@ -401,6 +437,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS4ListIiE"
+  }
 }
 enum_types {
   type_info {
@@ -421,6 +460,9 @@
     name: "Foo_s::foosbat"
   }
   access: public_access
+  tag_info {
+    unique_id: "_ZTS5Foo_s"
+  }
 }
 enum_types {
   type_info {
@@ -441,6 +483,9 @@
     name: "test3::Kind::kind2"
   }
   access: public_access
+  tag_info {
+    unique_id: "_ZTSN5test34KindE"
+  }
 }
 enum_types {
   type_info {
@@ -457,6 +502,9 @@
     name: "CPPHello::Bla::BLA"
   }
   access: public_access
+  tag_info {
+    unique_id: "_ZTSN8CPPHello3BlaE"
+  }
 }
 pointer_types {
   type_info {
diff --git a/vndk/tools/header-checker/tests/expected/example1.h b/vndk/tools/header-checker/tests/expected/example1.h
index 39f03d2..d1f79a4 100644
--- a/vndk/tools/header-checker/tests/expected/example1.h
+++ b/vndk/tools/header-checker/tests/expected/example1.h
@@ -21,6 +21,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS10HiddenBase"
+  }
 }
 record_types {
   type_info {
@@ -51,7 +54,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "test2::HelloAgain"
+      mangled_component_name: "_ZTIN5test210HelloAgainE"
       component_value: 0
     }
     vtable_components {
@@ -72,6 +75,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTSN5test210HelloAgainE"
+  }
 }
 record_types {
   type_info {
@@ -101,6 +107,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTSN5test38ByeAgainIdEE"
+  }
 }
 record_types {
   type_info {
@@ -130,6 +139,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTSN5test38ByeAgainIfEE"
+  }
 }
 record_types {
   type_info {
@@ -148,6 +160,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTSN5test35OuterE"
+  }
 }
 record_types {
   type_info {
@@ -166,6 +181,9 @@
   }
   access: private_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTSN5test35Outer5InnerE"
+  }
 }
 record_types {
   type_info {
@@ -185,6 +203,9 @@
   access: public_access
   is_anonymous: true
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Hello::(anonymous)::(anonymous)"
+  }
 }
 record_types {
   type_info {
@@ -216,6 +237,9 @@
   access: public_access
   is_anonymous: true
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Hello::(anonymous)"
+  }
 }
 record_types {
   type_info {
@@ -264,6 +288,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Hello"
+  }
 }
 record_types {
   type_info {
@@ -304,7 +331,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "CPPHello"
+      mangled_component_name: "_ZTI8CPPHello"
       component_value: 0
     }
     vtable_components {
@@ -325,6 +352,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTS8CPPHello"
+  }
 }
 record_types {
   type_info {
@@ -348,6 +378,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS4ListIfE"
+  }
 }
 record_types {
   type_info {
@@ -378,6 +411,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTSN4ListIfE5_NodeE"
+  }
 }
 record_types {
   type_info {
@@ -401,6 +437,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS4ListIiE"
+  }
 }
 enum_types {
   type_info {
@@ -421,6 +460,9 @@
     name: "Foo_s::foosbat"
   }
   access: public_access
+  tag_info {
+    unique_id: "_ZTS5Foo_s"
+  }
 }
 enum_types {
   type_info {
@@ -441,6 +483,9 @@
     name: "test3::Kind::kind2"
   }
   access: public_access
+  tag_info {
+    unique_id: "_ZTSN5test34KindE"
+  }
 }
 enum_types {
   type_info {
@@ -457,6 +502,9 @@
     name: "CPPHello::Bla::BLA"
   }
   access: public_access
+  tag_info {
+    unique_id: "_ZTSN8CPPHello3BlaE"
+  }
 }
 pointer_types {
   type_info {
diff --git a/vndk/tools/header-checker/tests/expected/example2.h b/vndk/tools/header-checker/tests/expected/example2.h
index 8375c01..0ebee6c 100644
--- a/vndk/tools/header-checker/tests/expected/example2.h
+++ b/vndk/tools/header-checker/tests/expected/example2.h
@@ -21,6 +21,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS10HiddenBase"
+  }
 }
 record_types {
   type_info {
@@ -51,7 +54,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "test2::HelloAgain"
+      mangled_component_name: "_ZTIN5test210HelloAgainE"
       component_value: 0
     }
     vtable_components {
@@ -72,6 +75,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTSN5test210HelloAgainE"
+  }
 }
 record_types {
   type_info {
@@ -101,6 +107,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTSN5test38ByeAgainIdEE"
+  }
 }
 record_types {
   type_info {
@@ -130,6 +139,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTSN5test38ByeAgainIfEE"
+  }
 }
 record_types {
   type_info {
@@ -148,6 +160,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTSN5test35OuterE"
+  }
 }
 record_types {
   type_info {
@@ -166,6 +181,9 @@
   }
   access: private_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTSN5test35Outer5InnerE"
+  }
 }
 enum_types {
   type_info {
@@ -186,6 +204,9 @@
     name: "Foo_s::foosbat"
   }
   access: public_access
+  tag_info {
+    unique_id: "_ZTS5Foo_s"
+  }
 }
 enum_types {
   type_info {
@@ -206,6 +227,9 @@
     name: "test3::Kind::kind2"
   }
   access: public_access
+  tag_info {
+    unique_id: "_ZTSN5test34KindE"
+  }
 }
 pointer_types {
   type_info {
diff --git a/vndk/tools/header-checker/tests/expected/example3.h b/vndk/tools/header-checker/tests/expected/example3.h
index 9e2cc62..024eb19 100644
--- a/vndk/tools/header-checker/tests/expected/example3.h
+++ b/vndk/tools/header-checker/tests/expected/example3.h
@@ -21,6 +21,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS10HiddenBase"
+  }
 }
 builtin_types {
   type_info {
diff --git a/vndk/tools/header-checker/tests/expected/example4.h b/vndk/tools/header-checker/tests/expected/example4.h
index 6c162a5..b97d8b7 100644
--- a/vndk/tools/header-checker/tests/expected/example4.h
+++ b/vndk/tools/header-checker/tests/expected/example4.h
@@ -21,7 +21,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "Test"
+      mangled_component_name: "_ZTI4Test"
       component_value: 0
     }
     vtable_components {
@@ -32,6 +32,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS4Test"
+  }
 }
 record_types {
   type_info {
@@ -61,7 +64,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "TestChild"
+      mangled_component_name: "_ZTI9TestChild"
       component_value: 0
     }
     vtable_components {
@@ -72,6 +75,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS9TestChild"
+  }
 }
 pointer_types {
   type_info {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp.so.lsdump
index 36c64ba..e11393c 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp.so.lsdump
@@ -1,29 +1,5 @@
 record_types {
   type_info {
-    name: "Foo"
-    size: 8
-    alignment: 4
-    referenced_type: "Foo"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo"
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 0
-    field_name: "a_"
-    access: private_access
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 32
-    field_name: "b_"
-    access: private_access
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "Cinner"
     size: 4
     alignment: 4
@@ -39,6 +15,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Cinner"
+  }
 }
 record_types {
   type_info {
@@ -63,25 +42,35 @@
   }
   access: public_access
   record_kind: struct_kind
-}
-pointer_types {
-  type_info {
-    name: "int *"
-    size: 4
-    alignment: 4
-    referenced_type: "int"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "int *"
+  tag_info {
+    unique_id: "Cstruct"
   }
 }
-pointer_types {
+record_types {
   type_info {
-    name: "Foo *"
-    size: 4
+    name: "Foo"
+    size: 8
     alignment: 4
     referenced_type: "Foo"
     source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo *"
+    linker_set_key: "Foo"
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 0
+    field_name: "a_"
+    access: private_access
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 32
+    field_name: "b_"
+    access: private_access
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS3Foo"
   }
 }
 pointer_types {
@@ -114,6 +103,26 @@
     linker_set_key: "Cstruct **"
   }
 }
+pointer_types {
+  type_info {
+    name: "Foo *"
+    size: 4
+    alignment: 4
+    referenced_type: "Foo"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "Foo *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "int *"
+    size: 4
+    alignment: 4
+    referenced_type: "int"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "int *"
+  }
+}
 builtin_types {
   type_info {
     name: "int"
@@ -139,6 +148,17 @@
   is_integral: false
 }
 functions {
+  return_type: "void"
+  function_name: "CFunction"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
+  parameters {
+    referenced_type: "Cstruct **"
+    default_arg: false
+  }
+  linker_set_key: "CFunction"
+  access: public_access
+}
+functions {
   return_type: "Foo"
   function_name: "foo"
   source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
@@ -153,17 +173,6 @@
   linker_set_key: "_Z3fooPiS_"
   access: public_access
 }
-functions {
-  return_type: "void"
-  function_name: "CFunction"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
-  parameters {
-    referenced_type: "Cstruct **"
-    default_arg: false
-  }
-  linker_set_key: "CFunction"
-  access: public_access
-}
 elf_functions {
   name: "CFunction"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp_with_unused_struct.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp_with_unused_struct.so.lsdump
index 3ddf19a..66e8cf3 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp_with_unused_struct.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp_with_unused_struct.so.lsdump
@@ -1,47 +1,5 @@
 record_types {
   type_info {
-    name: "UnusedStruct"
-    size: 4
-    alignment: 4
-    referenced_type: "UnusedStruct"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "UnusedStruct"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 0
-    field_name: "mUnusedMember"
-    access: public_access
-  }
-  access: public_access
-  record_kind: struct_kind
-}
-record_types {
-  type_info {
-    name: "Foo"
-    size: 8
-    alignment: 4
-    referenced_type: "Foo"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo"
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 0
-    field_name: "a_"
-    access: private_access
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 32
-    field_name: "b_"
-    access: private_access
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "Cinner"
     size: 4
     alignment: 4
@@ -57,6 +15,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Cinner"
+  }
 }
 record_types {
   type_info {
@@ -81,25 +42,56 @@
   }
   access: public_access
   record_kind: struct_kind
-}
-pointer_types {
-  type_info {
-    name: "int *"
-    size: 4
-    alignment: 4
-    referenced_type: "int"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "int *"
+  tag_info {
+    unique_id: "Cstruct"
   }
 }
-pointer_types {
+record_types {
   type_info {
-    name: "Foo *"
-    size: 4
+    name: "Foo"
+    size: 8
     alignment: 4
     referenced_type: "Foo"
     source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo *"
+    linker_set_key: "Foo"
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 0
+    field_name: "a_"
+    access: private_access
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 32
+    field_name: "b_"
+    access: private_access
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS3Foo"
+  }
+}
+record_types {
+  type_info {
+    name: "UnusedStruct"
+    size: 4
+    alignment: 4
+    referenced_type: "UnusedStruct"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "UnusedStruct"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 0
+    field_name: "mUnusedMember"
+    access: public_access
+  }
+  access: public_access
+  record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTS12UnusedStruct"
   }
 }
 pointer_types {
@@ -132,6 +124,26 @@
     linker_set_key: "Cstruct **"
   }
 }
+pointer_types {
+  type_info {
+    name: "Foo *"
+    size: 4
+    alignment: 4
+    referenced_type: "Foo"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "Foo *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "int *"
+    size: 4
+    alignment: 4
+    referenced_type: "int"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "int *"
+  }
+}
 builtin_types {
   type_info {
     name: "int"
@@ -157,6 +169,17 @@
   is_integral: false
 }
 functions {
+  return_type: "void"
+  function_name: "CFunction"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
+  parameters {
+    referenced_type: "Cstruct **"
+    default_arg: false
+  }
+  linker_set_key: "CFunction"
+  access: public_access
+}
+functions {
   return_type: "Foo"
   function_name: "foo"
   source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
@@ -171,17 +194,6 @@
   linker_set_key: "_Z3fooPiS_"
   access: public_access
 }
-functions {
-  return_type: "void"
-  function_name: "CFunction"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
-  parameters {
-    referenced_type: "Cstruct **"
-    default_arg: false
-  }
-  linker_set_key: "CFunction"
-  access: public_access
-}
 elf_functions {
   name: "CFunction"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp.so.lsdump
index a1a109a..971fa9a 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_function.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_function.so.lsdump
index 62f7520..6d6b70e 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_function.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_function.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -368,24 +380,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 elf_functions {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_global_variable.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_global_variable.so.lsdump
index f06b66f..b126533 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_global_variable.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_global_variable.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -357,24 +369,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 global_vars {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_function_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_function_access.so.lsdump
index ad2413d..8d34659 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_function_access.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_function_access.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: private_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_member_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_member_access.so.lsdump
index 39d9480..2b61151 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_member_access.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_member_access.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_diff.so.lsdump
index 4bf5051..d602695 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -181,15 +190,8 @@
     name: "SuperSpeaker::Volume::Loudest"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -204,16 +206,6 @@
 }
 pointer_types {
   type_info {
-    name: "float *"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "float *"
-  }
-}
-pointer_types {
-  type_info {
     name: "LowVolumeSpeaker *"
     size: 4
     alignment: 4
@@ -222,29 +214,25 @@
     linker_set_key: "LowVolumeSpeaker *"
   }
 }
-builtin_types {
+pointer_types {
   type_info {
-    name: "int"
+    name: "SuperSpeaker *"
     size: 4
     alignment: 4
-    referenced_type: "int"
-    source_file: ""
-    linker_set_key: "int"
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
   }
-  is_unsigned: false
-  is_integral: true
 }
-builtin_types {
+pointer_types {
   type_info {
-    name: "void"
-    size: 0
-    alignment: 0
-    referenced_type: "void"
-    source_file: ""
-    linker_set_key: "void"
+    name: "float *"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "float *"
   }
-  is_unsigned: false
-  is_integral: false
 }
 builtin_types {
   type_info {
@@ -260,6 +248,18 @@
 }
 builtin_types {
   type_info {
+    name: "int"
+    size: 4
+    alignment: 4
+    referenced_type: "int"
+    source_file: ""
+    linker_set_key: "int"
+  }
+  is_unsigned: false
+  is_integral: true
+}
+builtin_types {
+  type_info {
     name: "unsigned int"
     size: 4
     alignment: 4
@@ -270,16 +270,17 @@
   is_unsigned: true
   is_integral: true
 }
-functions {
-  return_type: "SuperSpeaker *"
-  function_name: "SuperSpeaker::CreateSuperSpeaker"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "int"
-    default_arg: false
+builtin_types {
+  type_info {
+    name: "void"
+    size: 0
+    alignment: 0
+    referenced_type: "void"
+    source_file: ""
+    linker_set_key: "void"
   }
-  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
-  access: public_access
+  is_unsigned: false
+  is_integral: false
 }
 functions {
   return_type: "void"
@@ -293,6 +294,17 @@
   access: public_access
 }
 functions {
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "int"
+    default_arg: false
+  }
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
+  access: public_access
+}
+functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -305,43 +317,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -362,6 +337,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_extended.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_extended.so.lsdump
index e70ffe0..7ff9047 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_extended.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_extended.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -189,15 +198,8 @@
     name: "SuperSpeaker::Volume::LouderThanLoudest"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -212,6 +214,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -220,15 +242,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -266,17 +290,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -290,17 +313,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -313,43 +325,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -370,6 +345,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_fabricated_function_ast_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
index b65469e..d4d4ce7 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,27 +286,15 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
-}
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
   parameters {
-    referenced_type: "SuperSpeaker *"
+    referenced_type: "int"
     default_arg: false
   }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
   access: public_access
 }
 functions {
@@ -298,43 +310,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -355,6 +330,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_cv_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_cv_diff.so.lsdump
index b15d029..393c559 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_cv_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_cv_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "const float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "const float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,18 +286,6 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
-}
 qualified_types {
   type_info {
     name: "const float"
@@ -288,17 +300,6 @@
   is_restricted: false
 }
 functions {
-  return_type: "SuperSpeaker *"
-  function_name: "SuperSpeaker::CreateSuperSpeaker"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "int"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
-  access: public_access
-}
-functions {
   return_type: "void"
   function_name: "SuperSpeaker::SpeakLouder"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -310,6 +311,17 @@
   access: public_access
 }
 functions {
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "int"
+    default_arg: false
+  }
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
+  access: public_access
+}
+functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -322,43 +334,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -379,6 +354,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_diff.so.lsdump
index 3cbba08..58f1db7 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "long long *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "long long *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -240,6 +264,18 @@
 }
 builtin_types {
   type_info {
+    name: "long long"
+    size: 8
+    alignment: 8
+    referenced_type: "long long"
+    source_file: ""
+    linker_set_key: "long long"
+  }
+  is_unsigned: false
+  is_integral: true
+}
+builtin_types {
+  type_info {
     name: "unsigned int"
     size: 4
     alignment: 4
@@ -262,29 +298,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
-}
-builtin_types {
-  type_info {
-    name: "long long"
-    size: 8
-    alignment: 8
-    referenced_type: "long long"
-    source_file: ""
-    linker_set_key: "long long"
-  }
-  is_unsigned: false
-  is_integral: true
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -298,17 +321,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -321,43 +333,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -378,6 +353,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_fake_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_fake_diff.so.lsdump
index 057ba4c..a1256f0 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_fake_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_fake_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,29 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "char32_t"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "char32_t"
+    source_file: ""
+    linker_set_key: "char32_t"
   }
+  is_unsigned: true
+  is_integral: true
+}
+builtin_types {
+  type_info {
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
+  }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,29 +298,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
-}
-builtin_types {
-  type_info {
-    name: "char32_t"
-    size: 4
-    alignment: 4
-    referenced_type: "char32_t"
-    source_file: ""
-    linker_set_key: "char32_t"
-  }
-  is_unsigned: true
-  is_integral: true
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -298,17 +321,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -321,43 +333,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -378,6 +353,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_integral_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_integral_type_diff.so.lsdump
index 87cf601..abc774a 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_integral_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_integral_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_parameter_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_parameter_type_diff.so.lsdump
index eddb0a6..2eebc5f 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_parameter_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_parameter_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -357,24 +369,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 elf_functions {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_return_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_return_type_diff.so.lsdump
index 9f1b9f2..f64fcd8 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_return_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_return_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "int"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "int"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
index 78760e5..8a745f2 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_vtable_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_vtable_diff.so.lsdump
index ec705b4..b3f4f65 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_vtable_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_vtable_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,12 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,13 +305,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -305,43 +317,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -362,6 +337,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libreproducability.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libreproducability.so.lsdump
index 35d3613..2fd114f 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm/libreproducability.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libreproducability.so.lsdump
@@ -14,8 +14,10 @@
     access: public_access
   }
   access: public_access
-  is_anonymous: true
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTS11ShouldRepro"
+  }
 }
 builtin_types {
   type_info {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp.so.lsdump
index 4c4dfa3..81f71f8 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp.so.lsdump
@@ -1,29 +1,5 @@
 record_types {
   type_info {
-    name: "Foo"
-    size: 16
-    alignment: 8
-    referenced_type: "Foo"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo"
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 0
-    field_name: "a_"
-    access: private_access
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 64
-    field_name: "b_"
-    access: private_access
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "Cinner"
     size: 4
     alignment: 4
@@ -39,6 +15,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Cinner"
+  }
 }
 record_types {
   type_info {
@@ -63,25 +42,35 @@
   }
   access: public_access
   record_kind: struct_kind
-}
-pointer_types {
-  type_info {
-    name: "int *"
-    size: 8
-    alignment: 8
-    referenced_type: "int"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "int *"
+  tag_info {
+    unique_id: "Cstruct"
   }
 }
-pointer_types {
+record_types {
   type_info {
-    name: "Foo *"
-    size: 8
+    name: "Foo"
+    size: 16
     alignment: 8
     referenced_type: "Foo"
     source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo *"
+    linker_set_key: "Foo"
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 0
+    field_name: "a_"
+    access: private_access
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 64
+    field_name: "b_"
+    access: private_access
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS3Foo"
   }
 }
 pointer_types {
@@ -114,6 +103,26 @@
     linker_set_key: "Cstruct **"
   }
 }
+pointer_types {
+  type_info {
+    name: "Foo *"
+    size: 8
+    alignment: 8
+    referenced_type: "Foo"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "Foo *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "int *"
+    size: 8
+    alignment: 8
+    referenced_type: "int"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "int *"
+  }
+}
 builtin_types {
   type_info {
     name: "int"
@@ -139,6 +148,17 @@
   is_integral: false
 }
 functions {
+  return_type: "void"
+  function_name: "CFunction"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
+  parameters {
+    referenced_type: "Cstruct **"
+    default_arg: false
+  }
+  linker_set_key: "CFunction"
+  access: public_access
+}
+functions {
   return_type: "Foo"
   function_name: "foo"
   source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
@@ -153,17 +173,6 @@
   linker_set_key: "_Z3fooPiS_"
   access: public_access
 }
-functions {
-  return_type: "void"
-  function_name: "CFunction"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
-  parameters {
-    referenced_type: "Cstruct **"
-    default_arg: false
-  }
-  linker_set_key: "CFunction"
-  access: public_access
-}
 elf_functions {
   name: "CFunction"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp_with_unused_struct.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp_with_unused_struct.so.lsdump
index 5bbeb16..e276c0d 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp_with_unused_struct.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp_with_unused_struct.so.lsdump
@@ -1,47 +1,5 @@
 record_types {
   type_info {
-    name: "UnusedStruct"
-    size: 4
-    alignment: 4
-    referenced_type: "UnusedStruct"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "UnusedStruct"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 0
-    field_name: "mUnusedMember"
-    access: public_access
-  }
-  access: public_access
-  record_kind: struct_kind
-}
-record_types {
-  type_info {
-    name: "Foo"
-    size: 16
-    alignment: 8
-    referenced_type: "Foo"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo"
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 0
-    field_name: "a_"
-    access: private_access
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 64
-    field_name: "b_"
-    access: private_access
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "Cinner"
     size: 4
     alignment: 4
@@ -57,6 +15,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Cinner"
+  }
 }
 record_types {
   type_info {
@@ -81,25 +42,56 @@
   }
   access: public_access
   record_kind: struct_kind
-}
-pointer_types {
-  type_info {
-    name: "int *"
-    size: 8
-    alignment: 8
-    referenced_type: "int"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "int *"
+  tag_info {
+    unique_id: "Cstruct"
   }
 }
-pointer_types {
+record_types {
   type_info {
-    name: "Foo *"
-    size: 8
+    name: "Foo"
+    size: 16
     alignment: 8
     referenced_type: "Foo"
     source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo *"
+    linker_set_key: "Foo"
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 0
+    field_name: "a_"
+    access: private_access
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 64
+    field_name: "b_"
+    access: private_access
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS3Foo"
+  }
+}
+record_types {
+  type_info {
+    name: "UnusedStruct"
+    size: 4
+    alignment: 4
+    referenced_type: "UnusedStruct"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "UnusedStruct"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 0
+    field_name: "mUnusedMember"
+    access: public_access
+  }
+  access: public_access
+  record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTS12UnusedStruct"
   }
 }
 pointer_types {
@@ -132,6 +124,26 @@
     linker_set_key: "Cstruct **"
   }
 }
+pointer_types {
+  type_info {
+    name: "Foo *"
+    size: 8
+    alignment: 8
+    referenced_type: "Foo"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "Foo *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "int *"
+    size: 8
+    alignment: 8
+    referenced_type: "int"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "int *"
+  }
+}
 builtin_types {
   type_info {
     name: "int"
@@ -157,6 +169,17 @@
   is_integral: false
 }
 functions {
+  return_type: "void"
+  function_name: "CFunction"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
+  parameters {
+    referenced_type: "Cstruct **"
+    default_arg: false
+  }
+  linker_set_key: "CFunction"
+  access: public_access
+}
+functions {
   return_type: "Foo"
   function_name: "foo"
   source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
@@ -171,17 +194,6 @@
   linker_set_key: "_Z3fooPiS_"
   access: public_access
 }
-functions {
-  return_type: "void"
-  function_name: "CFunction"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
-  parameters {
-    referenced_type: "Cstruct **"
-    default_arg: false
-  }
-  linker_set_key: "CFunction"
-  access: public_access
-}
 elf_functions {
   name: "CFunction"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp.so.lsdump
index 540cc3a..465ede8 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_function.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_function.so.lsdump
index 605c3b5..406b6ef 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_function.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_function.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -368,24 +380,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 elf_functions {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_global_variable.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_global_variable.so.lsdump
index f66d224..04acd4a 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_global_variable.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_global_variable.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -357,24 +369,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 global_vars {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_function_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_function_access.so.lsdump
index 66ba7ad..06d39c8 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_function_access.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_function_access.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: private_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_member_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_member_access.so.lsdump
index 458c6ff..65250cb 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_member_access.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_member_access.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_diff.so.lsdump
index a19f0e2..d30af78 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -181,15 +190,8 @@
     name: "SuperSpeaker::Volume::Loudest"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -204,16 +206,6 @@
 }
 pointer_types {
   type_info {
-    name: "float *"
-    size: 8
-    alignment: 8
-    referenced_type: "float"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "float *"
-  }
-}
-pointer_types {
-  type_info {
     name: "LowVolumeSpeaker *"
     size: 8
     alignment: 8
@@ -222,29 +214,25 @@
     linker_set_key: "LowVolumeSpeaker *"
   }
 }
-builtin_types {
+pointer_types {
   type_info {
-    name: "int"
-    size: 4
-    alignment: 4
-    referenced_type: "int"
-    source_file: ""
-    linker_set_key: "int"
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
   }
-  is_unsigned: false
-  is_integral: true
 }
-builtin_types {
+pointer_types {
   type_info {
-    name: "void"
-    size: 0
-    alignment: 0
-    referenced_type: "void"
-    source_file: ""
-    linker_set_key: "void"
+    name: "float *"
+    size: 8
+    alignment: 8
+    referenced_type: "float"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "float *"
   }
-  is_unsigned: false
-  is_integral: false
 }
 builtin_types {
   type_info {
@@ -260,6 +248,18 @@
 }
 builtin_types {
   type_info {
+    name: "int"
+    size: 4
+    alignment: 4
+    referenced_type: "int"
+    source_file: ""
+    linker_set_key: "int"
+  }
+  is_unsigned: false
+  is_integral: true
+}
+builtin_types {
+  type_info {
     name: "unsigned int"
     size: 4
     alignment: 4
@@ -270,16 +270,17 @@
   is_unsigned: true
   is_integral: true
 }
-functions {
-  return_type: "SuperSpeaker *"
-  function_name: "SuperSpeaker::CreateSuperSpeaker"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "int"
-    default_arg: false
+builtin_types {
+  type_info {
+    name: "void"
+    size: 0
+    alignment: 0
+    referenced_type: "void"
+    source_file: ""
+    linker_set_key: "void"
   }
-  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
-  access: public_access
+  is_unsigned: false
+  is_integral: false
 }
 functions {
   return_type: "void"
@@ -293,6 +294,17 @@
   access: public_access
 }
 functions {
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "int"
+    default_arg: false
+  }
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
+  access: public_access
+}
+functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -305,43 +317,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -362,6 +337,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_extended.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_extended.so.lsdump
index 4a871ee..a7505e7 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_extended.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_extended.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -189,15 +198,8 @@
     name: "SuperSpeaker::Volume::LouderThanLoudest"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -212,6 +214,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -220,15 +242,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -266,17 +290,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -290,17 +313,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -313,43 +325,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -370,6 +345,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
index b9268e9..c8dc7f9 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,27 +286,15 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
-}
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
   parameters {
-    referenced_type: "SuperSpeaker *"
+    referenced_type: "int"
     default_arg: false
   }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
   access: public_access
 }
 functions {
@@ -298,43 +310,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -355,6 +330,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_cv_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_cv_diff.so.lsdump
index 5401d6a..9182b28 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_cv_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_cv_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "const float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "const float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,18 +286,6 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
-}
 qualified_types {
   type_info {
     name: "const float"
@@ -288,17 +300,6 @@
   is_restricted: false
 }
 functions {
-  return_type: "SuperSpeaker *"
-  function_name: "SuperSpeaker::CreateSuperSpeaker"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "int"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
-  access: public_access
-}
-functions {
   return_type: "void"
   function_name: "SuperSpeaker::SpeakLouder"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -310,6 +311,17 @@
   access: public_access
 }
 functions {
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "int"
+    default_arg: false
+  }
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
+  access: public_access
+}
+functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -322,43 +334,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -379,6 +354,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_diff.so.lsdump
index b51dc44..b8cd3c0 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "long long *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "long long *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -240,6 +264,18 @@
 }
 builtin_types {
   type_info {
+    name: "long long"
+    size: 8
+    alignment: 8
+    referenced_type: "long long"
+    source_file: ""
+    linker_set_key: "long long"
+  }
+  is_unsigned: false
+  is_integral: true
+}
+builtin_types {
+  type_info {
     name: "unsigned int"
     size: 4
     alignment: 4
@@ -262,29 +298,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
-}
-builtin_types {
-  type_info {
-    name: "long long"
-    size: 8
-    alignment: 8
-    referenced_type: "long long"
-    source_file: ""
-    linker_set_key: "long long"
-  }
-  is_unsigned: false
-  is_integral: true
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -298,17 +321,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -321,43 +333,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -378,6 +353,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_fake_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_fake_diff.so.lsdump
index 62384b5..453cf6e 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_fake_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_fake_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,29 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "char32_t"
+    size: 4
+    alignment: 4
+    referenced_type: "char32_t"
+    source_file: ""
+    linker_set_key: "char32_t"
   }
+  is_unsigned: true
+  is_integral: true
+}
+builtin_types {
+  type_info {
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
+  }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,29 +298,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
-}
-builtin_types {
-  type_info {
-    name: "char32_t"
-    size: 4
-    alignment: 4
-    referenced_type: "char32_t"
-    source_file: ""
-    linker_set_key: "char32_t"
-  }
-  is_unsigned: true
-  is_integral: true
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -298,17 +321,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -321,43 +333,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -378,6 +353,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_integral_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_integral_type_diff.so.lsdump
index 8141cce..d97d0e7 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_integral_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_integral_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_parameter_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_parameter_type_diff.so.lsdump
index ce3b6d3..70a6fd7 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_parameter_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_parameter_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -357,24 +369,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 elf_functions {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_return_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_return_type_diff.so.lsdump
index 06be755..2635036 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_return_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_return_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "int"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "int"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
index 1ab5111..d721207 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_vtable_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_vtable_diff.so.lsdump
index 81acfc9..e234005 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_vtable_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_vtable_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,12 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,13 +305,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -305,43 +317,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -362,6 +337,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libreproducability.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libreproducability.so.lsdump
index 35d3613..2fd114f 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/arm64/libreproducability.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libreproducability.so.lsdump
@@ -14,8 +14,10 @@
     access: public_access
   }
   access: public_access
-  is_anonymous: true
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTS11ShouldRepro"
+  }
 }
 builtin_types {
   type_info {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp.so.lsdump
index 36c64ba..e11393c 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp.so.lsdump
@@ -1,29 +1,5 @@
 record_types {
   type_info {
-    name: "Foo"
-    size: 8
-    alignment: 4
-    referenced_type: "Foo"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo"
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 0
-    field_name: "a_"
-    access: private_access
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 32
-    field_name: "b_"
-    access: private_access
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "Cinner"
     size: 4
     alignment: 4
@@ -39,6 +15,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Cinner"
+  }
 }
 record_types {
   type_info {
@@ -63,25 +42,35 @@
   }
   access: public_access
   record_kind: struct_kind
-}
-pointer_types {
-  type_info {
-    name: "int *"
-    size: 4
-    alignment: 4
-    referenced_type: "int"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "int *"
+  tag_info {
+    unique_id: "Cstruct"
   }
 }
-pointer_types {
+record_types {
   type_info {
-    name: "Foo *"
-    size: 4
+    name: "Foo"
+    size: 8
     alignment: 4
     referenced_type: "Foo"
     source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo *"
+    linker_set_key: "Foo"
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 0
+    field_name: "a_"
+    access: private_access
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 32
+    field_name: "b_"
+    access: private_access
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS3Foo"
   }
 }
 pointer_types {
@@ -114,6 +103,26 @@
     linker_set_key: "Cstruct **"
   }
 }
+pointer_types {
+  type_info {
+    name: "Foo *"
+    size: 4
+    alignment: 4
+    referenced_type: "Foo"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "Foo *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "int *"
+    size: 4
+    alignment: 4
+    referenced_type: "int"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "int *"
+  }
+}
 builtin_types {
   type_info {
     name: "int"
@@ -139,6 +148,17 @@
   is_integral: false
 }
 functions {
+  return_type: "void"
+  function_name: "CFunction"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
+  parameters {
+    referenced_type: "Cstruct **"
+    default_arg: false
+  }
+  linker_set_key: "CFunction"
+  access: public_access
+}
+functions {
   return_type: "Foo"
   function_name: "foo"
   source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
@@ -153,17 +173,6 @@
   linker_set_key: "_Z3fooPiS_"
   access: public_access
 }
-functions {
-  return_type: "void"
-  function_name: "CFunction"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
-  parameters {
-    referenced_type: "Cstruct **"
-    default_arg: false
-  }
-  linker_set_key: "CFunction"
-  access: public_access
-}
 elf_functions {
   name: "CFunction"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp_with_unused_struct.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp_with_unused_struct.so.lsdump
index 3ddf19a..66e8cf3 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp_with_unused_struct.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp_with_unused_struct.so.lsdump
@@ -1,47 +1,5 @@
 record_types {
   type_info {
-    name: "UnusedStruct"
-    size: 4
-    alignment: 4
-    referenced_type: "UnusedStruct"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "UnusedStruct"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 0
-    field_name: "mUnusedMember"
-    access: public_access
-  }
-  access: public_access
-  record_kind: struct_kind
-}
-record_types {
-  type_info {
-    name: "Foo"
-    size: 8
-    alignment: 4
-    referenced_type: "Foo"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo"
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 0
-    field_name: "a_"
-    access: private_access
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 32
-    field_name: "b_"
-    access: private_access
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "Cinner"
     size: 4
     alignment: 4
@@ -57,6 +15,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Cinner"
+  }
 }
 record_types {
   type_info {
@@ -81,25 +42,56 @@
   }
   access: public_access
   record_kind: struct_kind
-}
-pointer_types {
-  type_info {
-    name: "int *"
-    size: 4
-    alignment: 4
-    referenced_type: "int"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "int *"
+  tag_info {
+    unique_id: "Cstruct"
   }
 }
-pointer_types {
+record_types {
   type_info {
-    name: "Foo *"
-    size: 4
+    name: "Foo"
+    size: 8
     alignment: 4
     referenced_type: "Foo"
     source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo *"
+    linker_set_key: "Foo"
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 0
+    field_name: "a_"
+    access: private_access
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 32
+    field_name: "b_"
+    access: private_access
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS3Foo"
+  }
+}
+record_types {
+  type_info {
+    name: "UnusedStruct"
+    size: 4
+    alignment: 4
+    referenced_type: "UnusedStruct"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "UnusedStruct"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 0
+    field_name: "mUnusedMember"
+    access: public_access
+  }
+  access: public_access
+  record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTS12UnusedStruct"
   }
 }
 pointer_types {
@@ -132,6 +124,26 @@
     linker_set_key: "Cstruct **"
   }
 }
+pointer_types {
+  type_info {
+    name: "Foo *"
+    size: 4
+    alignment: 4
+    referenced_type: "Foo"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "Foo *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "int *"
+    size: 4
+    alignment: 4
+    referenced_type: "int"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "int *"
+  }
+}
 builtin_types {
   type_info {
     name: "int"
@@ -157,6 +169,17 @@
   is_integral: false
 }
 functions {
+  return_type: "void"
+  function_name: "CFunction"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
+  parameters {
+    referenced_type: "Cstruct **"
+    default_arg: false
+  }
+  linker_set_key: "CFunction"
+  access: public_access
+}
+functions {
   return_type: "Foo"
   function_name: "foo"
   source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
@@ -171,17 +194,6 @@
   linker_set_key: "_Z3fooPiS_"
   access: public_access
 }
-functions {
-  return_type: "void"
-  function_name: "CFunction"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
-  parameters {
-    referenced_type: "Cstruct **"
-    default_arg: false
-  }
-  linker_set_key: "CFunction"
-  access: public_access
-}
 elf_functions {
   name: "CFunction"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp.so.lsdump
index a1a109a..971fa9a 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_function.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_function.so.lsdump
index 62f7520..6d6b70e 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_function.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_function.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -368,24 +380,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 elf_functions {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_global_variable.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_global_variable.so.lsdump
index f06b66f..b126533 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_global_variable.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_global_variable.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -357,24 +369,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 global_vars {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_function_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_function_access.so.lsdump
index ad2413d..8d34659 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_function_access.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_function_access.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: private_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_member_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_member_access.so.lsdump
index 39d9480..2b61151 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_member_access.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_member_access.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_diff.so.lsdump
index 4bf5051..d602695 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -181,15 +190,8 @@
     name: "SuperSpeaker::Volume::Loudest"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -204,16 +206,6 @@
 }
 pointer_types {
   type_info {
-    name: "float *"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "float *"
-  }
-}
-pointer_types {
-  type_info {
     name: "LowVolumeSpeaker *"
     size: 4
     alignment: 4
@@ -222,29 +214,25 @@
     linker_set_key: "LowVolumeSpeaker *"
   }
 }
-builtin_types {
+pointer_types {
   type_info {
-    name: "int"
+    name: "SuperSpeaker *"
     size: 4
     alignment: 4
-    referenced_type: "int"
-    source_file: ""
-    linker_set_key: "int"
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
   }
-  is_unsigned: false
-  is_integral: true
 }
-builtin_types {
+pointer_types {
   type_info {
-    name: "void"
-    size: 0
-    alignment: 0
-    referenced_type: "void"
-    source_file: ""
-    linker_set_key: "void"
+    name: "float *"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "float *"
   }
-  is_unsigned: false
-  is_integral: false
 }
 builtin_types {
   type_info {
@@ -260,6 +248,18 @@
 }
 builtin_types {
   type_info {
+    name: "int"
+    size: 4
+    alignment: 4
+    referenced_type: "int"
+    source_file: ""
+    linker_set_key: "int"
+  }
+  is_unsigned: false
+  is_integral: true
+}
+builtin_types {
+  type_info {
     name: "unsigned int"
     size: 4
     alignment: 4
@@ -270,16 +270,17 @@
   is_unsigned: true
   is_integral: true
 }
-functions {
-  return_type: "SuperSpeaker *"
-  function_name: "SuperSpeaker::CreateSuperSpeaker"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "int"
-    default_arg: false
+builtin_types {
+  type_info {
+    name: "void"
+    size: 0
+    alignment: 0
+    referenced_type: "void"
+    source_file: ""
+    linker_set_key: "void"
   }
-  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
-  access: public_access
+  is_unsigned: false
+  is_integral: false
 }
 functions {
   return_type: "void"
@@ -293,6 +294,17 @@
   access: public_access
 }
 functions {
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "int"
+    default_arg: false
+  }
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
+  access: public_access
+}
+functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -305,43 +317,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -362,6 +337,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_extended.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_extended.so.lsdump
index e70ffe0..7ff9047 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_extended.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_extended.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -189,15 +198,8 @@
     name: "SuperSpeaker::Volume::LouderThanLoudest"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -212,6 +214,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -220,15 +242,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -266,17 +290,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -290,17 +313,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -313,43 +325,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -370,6 +345,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_fabricated_function_ast_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
index b65469e..d4d4ce7 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,27 +286,15 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
-}
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
   parameters {
-    referenced_type: "SuperSpeaker *"
+    referenced_type: "int"
     default_arg: false
   }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
   access: public_access
 }
 functions {
@@ -298,43 +310,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -355,6 +330,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_cv_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_cv_diff.so.lsdump
index b15d029..393c559 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_cv_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_cv_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "const float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "const float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,18 +286,6 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
-}
 qualified_types {
   type_info {
     name: "const float"
@@ -288,17 +300,6 @@
   is_restricted: false
 }
 functions {
-  return_type: "SuperSpeaker *"
-  function_name: "SuperSpeaker::CreateSuperSpeaker"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "int"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
-  access: public_access
-}
-functions {
   return_type: "void"
   function_name: "SuperSpeaker::SpeakLouder"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -310,6 +311,17 @@
   access: public_access
 }
 functions {
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "int"
+    default_arg: false
+  }
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
+  access: public_access
+}
+functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -322,43 +334,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -379,6 +354,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_diff.so.lsdump
index 3cbba08..58f1db7 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "long long *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "long long *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -240,6 +264,18 @@
 }
 builtin_types {
   type_info {
+    name: "long long"
+    size: 8
+    alignment: 8
+    referenced_type: "long long"
+    source_file: ""
+    linker_set_key: "long long"
+  }
+  is_unsigned: false
+  is_integral: true
+}
+builtin_types {
+  type_info {
     name: "unsigned int"
     size: 4
     alignment: 4
@@ -262,29 +298,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
-}
-builtin_types {
-  type_info {
-    name: "long long"
-    size: 8
-    alignment: 8
-    referenced_type: "long long"
-    source_file: ""
-    linker_set_key: "long long"
-  }
-  is_unsigned: false
-  is_integral: true
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -298,17 +321,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -321,43 +333,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -378,6 +353,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_fake_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_fake_diff.so.lsdump
index 057ba4c..a1256f0 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_fake_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_fake_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,29 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "char32_t"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "char32_t"
+    source_file: ""
+    linker_set_key: "char32_t"
   }
+  is_unsigned: true
+  is_integral: true
+}
+builtin_types {
+  type_info {
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
+  }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,29 +298,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
-}
-builtin_types {
-  type_info {
-    name: "char32_t"
-    size: 4
-    alignment: 4
-    referenced_type: "char32_t"
-    source_file: ""
-    linker_set_key: "char32_t"
-  }
-  is_unsigned: true
-  is_integral: true
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -298,17 +321,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -321,43 +333,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -378,6 +353,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_integral_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_integral_type_diff.so.lsdump
index 87cf601..abc774a 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_integral_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_integral_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_parameter_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_parameter_type_diff.so.lsdump
index eddb0a6..2eebc5f 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_parameter_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_parameter_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -357,24 +369,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 elf_functions {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_return_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_return_type_diff.so.lsdump
index 9f1b9f2..f64fcd8 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_return_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_return_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "int"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "int"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
index 78760e5..8a745f2 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_vtable_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_vtable_diff.so.lsdump
index ec705b4..b3f4f65 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_vtable_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_vtable_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,12 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,13 +305,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -305,43 +317,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -362,6 +337,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libreproducability.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libreproducability.so.lsdump
index 35d3613..2fd114f 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips/libreproducability.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libreproducability.so.lsdump
@@ -14,8 +14,10 @@
     access: public_access
   }
   access: public_access
-  is_anonymous: true
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTS11ShouldRepro"
+  }
 }
 builtin_types {
   type_info {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp.so.lsdump
index 4c4dfa3..81f71f8 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp.so.lsdump
@@ -1,29 +1,5 @@
 record_types {
   type_info {
-    name: "Foo"
-    size: 16
-    alignment: 8
-    referenced_type: "Foo"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo"
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 0
-    field_name: "a_"
-    access: private_access
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 64
-    field_name: "b_"
-    access: private_access
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "Cinner"
     size: 4
     alignment: 4
@@ -39,6 +15,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Cinner"
+  }
 }
 record_types {
   type_info {
@@ -63,25 +42,35 @@
   }
   access: public_access
   record_kind: struct_kind
-}
-pointer_types {
-  type_info {
-    name: "int *"
-    size: 8
-    alignment: 8
-    referenced_type: "int"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "int *"
+  tag_info {
+    unique_id: "Cstruct"
   }
 }
-pointer_types {
+record_types {
   type_info {
-    name: "Foo *"
-    size: 8
+    name: "Foo"
+    size: 16
     alignment: 8
     referenced_type: "Foo"
     source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo *"
+    linker_set_key: "Foo"
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 0
+    field_name: "a_"
+    access: private_access
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 64
+    field_name: "b_"
+    access: private_access
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS3Foo"
   }
 }
 pointer_types {
@@ -114,6 +103,26 @@
     linker_set_key: "Cstruct **"
   }
 }
+pointer_types {
+  type_info {
+    name: "Foo *"
+    size: 8
+    alignment: 8
+    referenced_type: "Foo"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "Foo *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "int *"
+    size: 8
+    alignment: 8
+    referenced_type: "int"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "int *"
+  }
+}
 builtin_types {
   type_info {
     name: "int"
@@ -139,6 +148,17 @@
   is_integral: false
 }
 functions {
+  return_type: "void"
+  function_name: "CFunction"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
+  parameters {
+    referenced_type: "Cstruct **"
+    default_arg: false
+  }
+  linker_set_key: "CFunction"
+  access: public_access
+}
+functions {
   return_type: "Foo"
   function_name: "foo"
   source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
@@ -153,17 +173,6 @@
   linker_set_key: "_Z3fooPiS_"
   access: public_access
 }
-functions {
-  return_type: "void"
-  function_name: "CFunction"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
-  parameters {
-    referenced_type: "Cstruct **"
-    default_arg: false
-  }
-  linker_set_key: "CFunction"
-  access: public_access
-}
 elf_functions {
   name: "CFunction"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp_with_unused_struct.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp_with_unused_struct.so.lsdump
index 5bbeb16..e276c0d 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp_with_unused_struct.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp_with_unused_struct.so.lsdump
@@ -1,47 +1,5 @@
 record_types {
   type_info {
-    name: "UnusedStruct"
-    size: 4
-    alignment: 4
-    referenced_type: "UnusedStruct"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "UnusedStruct"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 0
-    field_name: "mUnusedMember"
-    access: public_access
-  }
-  access: public_access
-  record_kind: struct_kind
-}
-record_types {
-  type_info {
-    name: "Foo"
-    size: 16
-    alignment: 8
-    referenced_type: "Foo"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo"
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 0
-    field_name: "a_"
-    access: private_access
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 64
-    field_name: "b_"
-    access: private_access
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "Cinner"
     size: 4
     alignment: 4
@@ -57,6 +15,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Cinner"
+  }
 }
 record_types {
   type_info {
@@ -81,25 +42,56 @@
   }
   access: public_access
   record_kind: struct_kind
-}
-pointer_types {
-  type_info {
-    name: "int *"
-    size: 8
-    alignment: 8
-    referenced_type: "int"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "int *"
+  tag_info {
+    unique_id: "Cstruct"
   }
 }
-pointer_types {
+record_types {
   type_info {
-    name: "Foo *"
-    size: 8
+    name: "Foo"
+    size: 16
     alignment: 8
     referenced_type: "Foo"
     source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo *"
+    linker_set_key: "Foo"
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 0
+    field_name: "a_"
+    access: private_access
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 64
+    field_name: "b_"
+    access: private_access
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS3Foo"
+  }
+}
+record_types {
+  type_info {
+    name: "UnusedStruct"
+    size: 4
+    alignment: 4
+    referenced_type: "UnusedStruct"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "UnusedStruct"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 0
+    field_name: "mUnusedMember"
+    access: public_access
+  }
+  access: public_access
+  record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTS12UnusedStruct"
   }
 }
 pointer_types {
@@ -132,6 +124,26 @@
     linker_set_key: "Cstruct **"
   }
 }
+pointer_types {
+  type_info {
+    name: "Foo *"
+    size: 8
+    alignment: 8
+    referenced_type: "Foo"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "Foo *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "int *"
+    size: 8
+    alignment: 8
+    referenced_type: "int"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "int *"
+  }
+}
 builtin_types {
   type_info {
     name: "int"
@@ -157,6 +169,17 @@
   is_integral: false
 }
 functions {
+  return_type: "void"
+  function_name: "CFunction"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
+  parameters {
+    referenced_type: "Cstruct **"
+    default_arg: false
+  }
+  linker_set_key: "CFunction"
+  access: public_access
+}
+functions {
   return_type: "Foo"
   function_name: "foo"
   source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
@@ -171,17 +194,6 @@
   linker_set_key: "_Z3fooPiS_"
   access: public_access
 }
-functions {
-  return_type: "void"
-  function_name: "CFunction"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
-  parameters {
-    referenced_type: "Cstruct **"
-    default_arg: false
-  }
-  linker_set_key: "CFunction"
-  access: public_access
-}
 elf_functions {
   name: "CFunction"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp.so.lsdump
index 540cc3a..465ede8 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_function.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_function.so.lsdump
index 605c3b5..406b6ef 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_function.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_function.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -368,24 +380,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 elf_functions {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_global_variable.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_global_variable.so.lsdump
index f66d224..04acd4a 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_global_variable.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_global_variable.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -357,24 +369,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 global_vars {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_function_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_function_access.so.lsdump
index 66ba7ad..06d39c8 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_function_access.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_function_access.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: private_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_member_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_member_access.so.lsdump
index 458c6ff..65250cb 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_member_access.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_member_access.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_diff.so.lsdump
index a19f0e2..d30af78 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -181,15 +190,8 @@
     name: "SuperSpeaker::Volume::Loudest"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -204,16 +206,6 @@
 }
 pointer_types {
   type_info {
-    name: "float *"
-    size: 8
-    alignment: 8
-    referenced_type: "float"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "float *"
-  }
-}
-pointer_types {
-  type_info {
     name: "LowVolumeSpeaker *"
     size: 8
     alignment: 8
@@ -222,29 +214,25 @@
     linker_set_key: "LowVolumeSpeaker *"
   }
 }
-builtin_types {
+pointer_types {
   type_info {
-    name: "int"
-    size: 4
-    alignment: 4
-    referenced_type: "int"
-    source_file: ""
-    linker_set_key: "int"
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
   }
-  is_unsigned: false
-  is_integral: true
 }
-builtin_types {
+pointer_types {
   type_info {
-    name: "void"
-    size: 0
-    alignment: 0
-    referenced_type: "void"
-    source_file: ""
-    linker_set_key: "void"
+    name: "float *"
+    size: 8
+    alignment: 8
+    referenced_type: "float"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "float *"
   }
-  is_unsigned: false
-  is_integral: false
 }
 builtin_types {
   type_info {
@@ -260,6 +248,18 @@
 }
 builtin_types {
   type_info {
+    name: "int"
+    size: 4
+    alignment: 4
+    referenced_type: "int"
+    source_file: ""
+    linker_set_key: "int"
+  }
+  is_unsigned: false
+  is_integral: true
+}
+builtin_types {
+  type_info {
     name: "unsigned int"
     size: 4
     alignment: 4
@@ -270,16 +270,17 @@
   is_unsigned: true
   is_integral: true
 }
-functions {
-  return_type: "SuperSpeaker *"
-  function_name: "SuperSpeaker::CreateSuperSpeaker"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "int"
-    default_arg: false
+builtin_types {
+  type_info {
+    name: "void"
+    size: 0
+    alignment: 0
+    referenced_type: "void"
+    source_file: ""
+    linker_set_key: "void"
   }
-  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
-  access: public_access
+  is_unsigned: false
+  is_integral: false
 }
 functions {
   return_type: "void"
@@ -293,6 +294,17 @@
   access: public_access
 }
 functions {
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "int"
+    default_arg: false
+  }
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
+  access: public_access
+}
+functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -305,43 +317,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -362,6 +337,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_extended.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_extended.so.lsdump
index 4a871ee..a7505e7 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_extended.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_extended.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -189,15 +198,8 @@
     name: "SuperSpeaker::Volume::LouderThanLoudest"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -212,6 +214,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -220,15 +242,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -266,17 +290,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -290,17 +313,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -313,43 +325,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -370,6 +345,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
index b9268e9..c8dc7f9 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,27 +286,15 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
-}
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
   parameters {
-    referenced_type: "SuperSpeaker *"
+    referenced_type: "int"
     default_arg: false
   }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
   access: public_access
 }
 functions {
@@ -298,43 +310,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -355,6 +330,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_cv_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_cv_diff.so.lsdump
index 5401d6a..9182b28 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_cv_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_cv_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "const float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "const float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,18 +286,6 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
-}
 qualified_types {
   type_info {
     name: "const float"
@@ -288,17 +300,6 @@
   is_restricted: false
 }
 functions {
-  return_type: "SuperSpeaker *"
-  function_name: "SuperSpeaker::CreateSuperSpeaker"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "int"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
-  access: public_access
-}
-functions {
   return_type: "void"
   function_name: "SuperSpeaker::SpeakLouder"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -310,6 +311,17 @@
   access: public_access
 }
 functions {
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "int"
+    default_arg: false
+  }
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
+  access: public_access
+}
+functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -322,43 +334,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -379,6 +354,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_diff.so.lsdump
index b51dc44..b8cd3c0 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "long long *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "long long *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -240,6 +264,18 @@
 }
 builtin_types {
   type_info {
+    name: "long long"
+    size: 8
+    alignment: 8
+    referenced_type: "long long"
+    source_file: ""
+    linker_set_key: "long long"
+  }
+  is_unsigned: false
+  is_integral: true
+}
+builtin_types {
+  type_info {
     name: "unsigned int"
     size: 4
     alignment: 4
@@ -262,29 +298,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
-}
-builtin_types {
-  type_info {
-    name: "long long"
-    size: 8
-    alignment: 8
-    referenced_type: "long long"
-    source_file: ""
-    linker_set_key: "long long"
-  }
-  is_unsigned: false
-  is_integral: true
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -298,17 +321,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -321,43 +333,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -378,6 +353,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_fake_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_fake_diff.so.lsdump
index 62384b5..453cf6e 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_fake_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_fake_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,29 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "char32_t"
+    size: 4
+    alignment: 4
+    referenced_type: "char32_t"
+    source_file: ""
+    linker_set_key: "char32_t"
   }
+  is_unsigned: true
+  is_integral: true
+}
+builtin_types {
+  type_info {
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
+  }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,29 +298,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
-}
-builtin_types {
-  type_info {
-    name: "char32_t"
-    size: 4
-    alignment: 4
-    referenced_type: "char32_t"
-    source_file: ""
-    linker_set_key: "char32_t"
-  }
-  is_unsigned: true
-  is_integral: true
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -298,17 +321,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -321,43 +333,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -378,6 +353,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_integral_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_integral_type_diff.so.lsdump
index 8141cce..d97d0e7 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_integral_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_integral_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_parameter_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_parameter_type_diff.so.lsdump
index ce3b6d3..70a6fd7 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_parameter_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_parameter_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -357,24 +369,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 elf_functions {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_return_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_return_type_diff.so.lsdump
index 06be755..2635036 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_return_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_return_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "int"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "int"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
index 1ab5111..d721207 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_vtable_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_vtable_diff.so.lsdump
index 81acfc9..e234005 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_vtable_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_vtable_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,12 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,13 +305,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -305,43 +317,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -362,6 +337,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libreproducability.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libreproducability.so.lsdump
index 35d3613..2fd114f 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/mips64/libreproducability.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libreproducability.so.lsdump
@@ -14,8 +14,10 @@
     access: public_access
   }
   access: public_access
-  is_anonymous: true
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTS11ShouldRepro"
+  }
 }
 builtin_types {
   type_info {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp.so.lsdump
index 36c64ba..e11393c 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp.so.lsdump
@@ -1,29 +1,5 @@
 record_types {
   type_info {
-    name: "Foo"
-    size: 8
-    alignment: 4
-    referenced_type: "Foo"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo"
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 0
-    field_name: "a_"
-    access: private_access
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 32
-    field_name: "b_"
-    access: private_access
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "Cinner"
     size: 4
     alignment: 4
@@ -39,6 +15,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Cinner"
+  }
 }
 record_types {
   type_info {
@@ -63,25 +42,35 @@
   }
   access: public_access
   record_kind: struct_kind
-}
-pointer_types {
-  type_info {
-    name: "int *"
-    size: 4
-    alignment: 4
-    referenced_type: "int"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "int *"
+  tag_info {
+    unique_id: "Cstruct"
   }
 }
-pointer_types {
+record_types {
   type_info {
-    name: "Foo *"
-    size: 4
+    name: "Foo"
+    size: 8
     alignment: 4
     referenced_type: "Foo"
     source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo *"
+    linker_set_key: "Foo"
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 0
+    field_name: "a_"
+    access: private_access
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 32
+    field_name: "b_"
+    access: private_access
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS3Foo"
   }
 }
 pointer_types {
@@ -114,6 +103,26 @@
     linker_set_key: "Cstruct **"
   }
 }
+pointer_types {
+  type_info {
+    name: "Foo *"
+    size: 4
+    alignment: 4
+    referenced_type: "Foo"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "Foo *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "int *"
+    size: 4
+    alignment: 4
+    referenced_type: "int"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "int *"
+  }
+}
 builtin_types {
   type_info {
     name: "int"
@@ -139,6 +148,17 @@
   is_integral: false
 }
 functions {
+  return_type: "void"
+  function_name: "CFunction"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
+  parameters {
+    referenced_type: "Cstruct **"
+    default_arg: false
+  }
+  linker_set_key: "CFunction"
+  access: public_access
+}
+functions {
   return_type: "Foo"
   function_name: "foo"
   source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
@@ -153,17 +173,6 @@
   linker_set_key: "_Z3fooPiS_"
   access: public_access
 }
-functions {
-  return_type: "void"
-  function_name: "CFunction"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
-  parameters {
-    referenced_type: "Cstruct **"
-    default_arg: false
-  }
-  linker_set_key: "CFunction"
-  access: public_access
-}
 elf_functions {
   name: "CFunction"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp_with_unused_struct.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp_with_unused_struct.so.lsdump
index 3ddf19a..66e8cf3 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp_with_unused_struct.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp_with_unused_struct.so.lsdump
@@ -1,47 +1,5 @@
 record_types {
   type_info {
-    name: "UnusedStruct"
-    size: 4
-    alignment: 4
-    referenced_type: "UnusedStruct"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "UnusedStruct"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 0
-    field_name: "mUnusedMember"
-    access: public_access
-  }
-  access: public_access
-  record_kind: struct_kind
-}
-record_types {
-  type_info {
-    name: "Foo"
-    size: 8
-    alignment: 4
-    referenced_type: "Foo"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo"
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 0
-    field_name: "a_"
-    access: private_access
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 32
-    field_name: "b_"
-    access: private_access
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "Cinner"
     size: 4
     alignment: 4
@@ -57,6 +15,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Cinner"
+  }
 }
 record_types {
   type_info {
@@ -81,25 +42,56 @@
   }
   access: public_access
   record_kind: struct_kind
-}
-pointer_types {
-  type_info {
-    name: "int *"
-    size: 4
-    alignment: 4
-    referenced_type: "int"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "int *"
+  tag_info {
+    unique_id: "Cstruct"
   }
 }
-pointer_types {
+record_types {
   type_info {
-    name: "Foo *"
-    size: 4
+    name: "Foo"
+    size: 8
     alignment: 4
     referenced_type: "Foo"
     source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo *"
+    linker_set_key: "Foo"
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 0
+    field_name: "a_"
+    access: private_access
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 32
+    field_name: "b_"
+    access: private_access
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS3Foo"
+  }
+}
+record_types {
+  type_info {
+    name: "UnusedStruct"
+    size: 4
+    alignment: 4
+    referenced_type: "UnusedStruct"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "UnusedStruct"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 0
+    field_name: "mUnusedMember"
+    access: public_access
+  }
+  access: public_access
+  record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTS12UnusedStruct"
   }
 }
 pointer_types {
@@ -132,6 +124,26 @@
     linker_set_key: "Cstruct **"
   }
 }
+pointer_types {
+  type_info {
+    name: "Foo *"
+    size: 4
+    alignment: 4
+    referenced_type: "Foo"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "Foo *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "int *"
+    size: 4
+    alignment: 4
+    referenced_type: "int"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "int *"
+  }
+}
 builtin_types {
   type_info {
     name: "int"
@@ -157,6 +169,17 @@
   is_integral: false
 }
 functions {
+  return_type: "void"
+  function_name: "CFunction"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
+  parameters {
+    referenced_type: "Cstruct **"
+    default_arg: false
+  }
+  linker_set_key: "CFunction"
+  access: public_access
+}
+functions {
   return_type: "Foo"
   function_name: "foo"
   source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
@@ -171,17 +194,6 @@
   linker_set_key: "_Z3fooPiS_"
   access: public_access
 }
-functions {
-  return_type: "void"
-  function_name: "CFunction"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
-  parameters {
-    referenced_type: "Cstruct **"
-    default_arg: false
-  }
-  linker_set_key: "CFunction"
-  access: public_access
-}
 elf_functions {
   name: "CFunction"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp.so.lsdump
index a1a109a..971fa9a 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_function.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_function.so.lsdump
index 62f7520..6d6b70e 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_function.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_function.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -368,24 +380,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 elf_functions {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_global_variable.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_global_variable.so.lsdump
index f06b66f..b126533 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_global_variable.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_global_variable.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -357,24 +369,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 global_vars {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_function_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_function_access.so.lsdump
index ad2413d..8d34659 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_function_access.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_function_access.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: private_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_member_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_member_access.so.lsdump
index 39d9480..2b61151 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_member_access.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_member_access.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_diff.so.lsdump
index 4bf5051..d602695 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -181,15 +190,8 @@
     name: "SuperSpeaker::Volume::Loudest"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -204,16 +206,6 @@
 }
 pointer_types {
   type_info {
-    name: "float *"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "float *"
-  }
-}
-pointer_types {
-  type_info {
     name: "LowVolumeSpeaker *"
     size: 4
     alignment: 4
@@ -222,29 +214,25 @@
     linker_set_key: "LowVolumeSpeaker *"
   }
 }
-builtin_types {
+pointer_types {
   type_info {
-    name: "int"
+    name: "SuperSpeaker *"
     size: 4
     alignment: 4
-    referenced_type: "int"
-    source_file: ""
-    linker_set_key: "int"
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
   }
-  is_unsigned: false
-  is_integral: true
 }
-builtin_types {
+pointer_types {
   type_info {
-    name: "void"
-    size: 0
-    alignment: 0
-    referenced_type: "void"
-    source_file: ""
-    linker_set_key: "void"
+    name: "float *"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "float *"
   }
-  is_unsigned: false
-  is_integral: false
 }
 builtin_types {
   type_info {
@@ -260,6 +248,18 @@
 }
 builtin_types {
   type_info {
+    name: "int"
+    size: 4
+    alignment: 4
+    referenced_type: "int"
+    source_file: ""
+    linker_set_key: "int"
+  }
+  is_unsigned: false
+  is_integral: true
+}
+builtin_types {
+  type_info {
     name: "unsigned int"
     size: 4
     alignment: 4
@@ -270,16 +270,17 @@
   is_unsigned: true
   is_integral: true
 }
-functions {
-  return_type: "SuperSpeaker *"
-  function_name: "SuperSpeaker::CreateSuperSpeaker"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "int"
-    default_arg: false
+builtin_types {
+  type_info {
+    name: "void"
+    size: 0
+    alignment: 0
+    referenced_type: "void"
+    source_file: ""
+    linker_set_key: "void"
   }
-  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
-  access: public_access
+  is_unsigned: false
+  is_integral: false
 }
 functions {
   return_type: "void"
@@ -293,6 +294,17 @@
   access: public_access
 }
 functions {
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "int"
+    default_arg: false
+  }
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
+  access: public_access
+}
+functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -305,43 +317,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -362,6 +337,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_extended.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_extended.so.lsdump
index e70ffe0..7ff9047 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_extended.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_extended.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -189,15 +198,8 @@
     name: "SuperSpeaker::Volume::LouderThanLoudest"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -212,6 +214,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -220,15 +242,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -266,17 +290,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -290,17 +313,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -313,43 +325,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -370,6 +345,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_fabricated_function_ast_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
index b65469e..d4d4ce7 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,27 +286,15 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
-}
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
   parameters {
-    referenced_type: "SuperSpeaker *"
+    referenced_type: "int"
     default_arg: false
   }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
   access: public_access
 }
 functions {
@@ -298,43 +310,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -355,6 +330,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_cv_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_cv_diff.so.lsdump
index b15d029..393c559 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_cv_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_cv_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "const float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "const float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,18 +286,6 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
-}
 qualified_types {
   type_info {
     name: "const float"
@@ -288,17 +300,6 @@
   is_restricted: false
 }
 functions {
-  return_type: "SuperSpeaker *"
-  function_name: "SuperSpeaker::CreateSuperSpeaker"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "int"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
-  access: public_access
-}
-functions {
   return_type: "void"
   function_name: "SuperSpeaker::SpeakLouder"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -310,6 +311,17 @@
   access: public_access
 }
 functions {
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "int"
+    default_arg: false
+  }
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
+  access: public_access
+}
+functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -322,43 +334,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -379,6 +354,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_diff.so.lsdump
index a8728e0..f471389 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "long long *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "long long *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -240,6 +264,18 @@
 }
 builtin_types {
   type_info {
+    name: "long long"
+    size: 8
+    alignment: 4
+    referenced_type: "long long"
+    source_file: ""
+    linker_set_key: "long long"
+  }
+  is_unsigned: false
+  is_integral: true
+}
+builtin_types {
+  type_info {
     name: "unsigned int"
     size: 4
     alignment: 4
@@ -262,29 +298,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
-}
-builtin_types {
-  type_info {
-    name: "long long"
-    size: 8
-    alignment: 4
-    referenced_type: "long long"
-    source_file: ""
-    linker_set_key: "long long"
-  }
-  is_unsigned: false
-  is_integral: true
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -298,17 +321,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -321,43 +333,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -378,6 +353,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_fake_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_fake_diff.so.lsdump
index 057ba4c..a1256f0 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_fake_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_fake_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,29 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "char32_t"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "char32_t"
+    source_file: ""
+    linker_set_key: "char32_t"
   }
+  is_unsigned: true
+  is_integral: true
+}
+builtin_types {
+  type_info {
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
+  }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,29 +298,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
-}
-builtin_types {
-  type_info {
-    name: "char32_t"
-    size: 4
-    alignment: 4
-    referenced_type: "char32_t"
-    source_file: ""
-    linker_set_key: "char32_t"
-  }
-  is_unsigned: true
-  is_integral: true
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -298,17 +321,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -321,43 +333,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -378,6 +353,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_integral_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_integral_type_diff.so.lsdump
index 87cf601..abc774a 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_integral_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_integral_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_parameter_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_parameter_type_diff.so.lsdump
index eddb0a6..2eebc5f 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_parameter_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_parameter_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -357,24 +369,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 elf_functions {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_return_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_return_type_diff.so.lsdump
index 9f1b9f2..f64fcd8 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_return_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_return_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "int"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "int"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
index 78760e5..8a745f2 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_vtable_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_vtable_diff.so.lsdump
index ec705b4..b3f4f65 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_vtable_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_vtable_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 8
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 32
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 8
     alignment: 4
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 8
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 32
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 4
-    alignment: 4
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 4
+    alignment: 4
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 4
     alignment: 4
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
+    name: "float"
     size: 4
     alignment: 4
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,12 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,13 +305,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -305,43 +317,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -362,6 +337,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libreproducability.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libreproducability.so.lsdump
index 35d3613..2fd114f 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86/libreproducability.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libreproducability.so.lsdump
@@ -14,8 +14,10 @@
     access: public_access
   }
   access: public_access
-  is_anonymous: true
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTS11ShouldRepro"
+  }
 }
 builtin_types {
   type_info {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp.so.lsdump
index 4c4dfa3..81f71f8 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp.so.lsdump
@@ -1,29 +1,5 @@
 record_types {
   type_info {
-    name: "Foo"
-    size: 16
-    alignment: 8
-    referenced_type: "Foo"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo"
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 0
-    field_name: "a_"
-    access: private_access
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 64
-    field_name: "b_"
-    access: private_access
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "Cinner"
     size: 4
     alignment: 4
@@ -39,6 +15,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Cinner"
+  }
 }
 record_types {
   type_info {
@@ -63,25 +42,35 @@
   }
   access: public_access
   record_kind: struct_kind
-}
-pointer_types {
-  type_info {
-    name: "int *"
-    size: 8
-    alignment: 8
-    referenced_type: "int"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "int *"
+  tag_info {
+    unique_id: "Cstruct"
   }
 }
-pointer_types {
+record_types {
   type_info {
-    name: "Foo *"
-    size: 8
+    name: "Foo"
+    size: 16
     alignment: 8
     referenced_type: "Foo"
     source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo *"
+    linker_set_key: "Foo"
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 0
+    field_name: "a_"
+    access: private_access
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 64
+    field_name: "b_"
+    access: private_access
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS3Foo"
   }
 }
 pointer_types {
@@ -114,6 +103,26 @@
     linker_set_key: "Cstruct **"
   }
 }
+pointer_types {
+  type_info {
+    name: "Foo *"
+    size: 8
+    alignment: 8
+    referenced_type: "Foo"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "Foo *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "int *"
+    size: 8
+    alignment: 8
+    referenced_type: "int"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "int *"
+  }
+}
 builtin_types {
   type_info {
     name: "int"
@@ -139,6 +148,17 @@
   is_integral: false
 }
 functions {
+  return_type: "void"
+  function_name: "CFunction"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
+  parameters {
+    referenced_type: "Cstruct **"
+    default_arg: false
+  }
+  linker_set_key: "CFunction"
+  access: public_access
+}
+functions {
   return_type: "Foo"
   function_name: "foo"
   source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
@@ -153,17 +173,6 @@
   linker_set_key: "_Z3fooPiS_"
   access: public_access
 }
-functions {
-  return_type: "void"
-  function_name: "CFunction"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
-  parameters {
-    referenced_type: "Cstruct **"
-    default_arg: false
-  }
-  linker_set_key: "CFunction"
-  access: public_access
-}
 elf_functions {
   name: "CFunction"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp_with_unused_struct.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp_with_unused_struct.so.lsdump
index 5bbeb16..e276c0d 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp_with_unused_struct.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp_with_unused_struct.so.lsdump
@@ -1,47 +1,5 @@
 record_types {
   type_info {
-    name: "UnusedStruct"
-    size: 4
-    alignment: 4
-    referenced_type: "UnusedStruct"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "UnusedStruct"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 0
-    field_name: "mUnusedMember"
-    access: public_access
-  }
-  access: public_access
-  record_kind: struct_kind
-}
-record_types {
-  type_info {
-    name: "Foo"
-    size: 16
-    alignment: 8
-    referenced_type: "Foo"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo"
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 0
-    field_name: "a_"
-    access: private_access
-  }
-  fields {
-    referenced_type: "int *"
-    field_offset: 64
-    field_name: "b_"
-    access: private_access
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "Cinner"
     size: 4
     alignment: 4
@@ -57,6 +15,9 @@
   }
   access: public_access
   record_kind: struct_kind
+  tag_info {
+    unique_id: "Cinner"
+  }
 }
 record_types {
   type_info {
@@ -81,25 +42,56 @@
   }
   access: public_access
   record_kind: struct_kind
-}
-pointer_types {
-  type_info {
-    name: "int *"
-    size: 8
-    alignment: 8
-    referenced_type: "int"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "int *"
+  tag_info {
+    unique_id: "Cstruct"
   }
 }
-pointer_types {
+record_types {
   type_info {
-    name: "Foo *"
-    size: 8
+    name: "Foo"
+    size: 16
     alignment: 8
     referenced_type: "Foo"
     source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
-    linker_set_key: "Foo *"
+    linker_set_key: "Foo"
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 0
+    field_name: "a_"
+    access: private_access
+  }
+  fields {
+    referenced_type: "int *"
+    field_offset: 64
+    field_name: "b_"
+    access: private_access
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS3Foo"
+  }
+}
+record_types {
+  type_info {
+    name: "UnusedStruct"
+    size: 4
+    alignment: 4
+    referenced_type: "UnusedStruct"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "UnusedStruct"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 0
+    field_name: "mUnusedMember"
+    access: public_access
+  }
+  access: public_access
+  record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTS12UnusedStruct"
   }
 }
 pointer_types {
@@ -132,6 +124,26 @@
     linker_set_key: "Cstruct **"
   }
 }
+pointer_types {
+  type_info {
+    name: "Foo *"
+    size: 8
+    alignment: 8
+    referenced_type: "Foo"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "Foo *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "int *"
+    size: 8
+    alignment: 8
+    referenced_type: "int"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
+    linker_set_key: "int *"
+  }
+}
 builtin_types {
   type_info {
     name: "int"
@@ -157,6 +169,17 @@
   is_integral: false
 }
 functions {
+  return_type: "void"
+  function_name: "CFunction"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
+  parameters {
+    referenced_type: "Cstruct **"
+    default_arg: false
+  }
+  linker_set_key: "CFunction"
+  access: public_access
+}
+functions {
   return_type: "Foo"
   function_name: "foo"
   source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h"
@@ -171,17 +194,6 @@
   linker_set_key: "_Z3fooPiS_"
   access: public_access
 }
-functions {
-  return_type: "void"
-  function_name: "CFunction"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h"
-  parameters {
-    referenced_type: "Cstruct **"
-    default_arg: false
-  }
-  linker_set_key: "CFunction"
-  access: public_access
-}
 elf_functions {
   name: "CFunction"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp.so.lsdump
index 540cc3a..465ede8 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_function.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_function.so.lsdump
index 605c3b5..406b6ef 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_function.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_function.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -368,24 +380,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 elf_functions {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_global_variable.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_global_variable.so.lsdump
index f66d224..04acd4a 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_global_variable.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_global_variable.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -357,24 +369,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 global_vars {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_function_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_function_access.so.lsdump
index 66ba7ad..06d39c8 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_function_access.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_function_access.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: private_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_member_access.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_member_access.so.lsdump
index 458c6ff..65250cb 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_member_access.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_member_access.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_diff.so.lsdump
index a19f0e2..d30af78 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -181,15 +190,8 @@
     name: "SuperSpeaker::Volume::Loudest"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -204,16 +206,6 @@
 }
 pointer_types {
   type_info {
-    name: "float *"
-    size: 8
-    alignment: 8
-    referenced_type: "float"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "float *"
-  }
-}
-pointer_types {
-  type_info {
     name: "LowVolumeSpeaker *"
     size: 8
     alignment: 8
@@ -222,29 +214,25 @@
     linker_set_key: "LowVolumeSpeaker *"
   }
 }
-builtin_types {
+pointer_types {
   type_info {
-    name: "int"
-    size: 4
-    alignment: 4
-    referenced_type: "int"
-    source_file: ""
-    linker_set_key: "int"
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
   }
-  is_unsigned: false
-  is_integral: true
 }
-builtin_types {
+pointer_types {
   type_info {
-    name: "void"
-    size: 0
-    alignment: 0
-    referenced_type: "void"
-    source_file: ""
-    linker_set_key: "void"
+    name: "float *"
+    size: 8
+    alignment: 8
+    referenced_type: "float"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "float *"
   }
-  is_unsigned: false
-  is_integral: false
 }
 builtin_types {
   type_info {
@@ -260,6 +248,18 @@
 }
 builtin_types {
   type_info {
+    name: "int"
+    size: 4
+    alignment: 4
+    referenced_type: "int"
+    source_file: ""
+    linker_set_key: "int"
+  }
+  is_unsigned: false
+  is_integral: true
+}
+builtin_types {
+  type_info {
     name: "unsigned int"
     size: 4
     alignment: 4
@@ -270,16 +270,17 @@
   is_unsigned: true
   is_integral: true
 }
-functions {
-  return_type: "SuperSpeaker *"
-  function_name: "SuperSpeaker::CreateSuperSpeaker"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "int"
-    default_arg: false
+builtin_types {
+  type_info {
+    name: "void"
+    size: 0
+    alignment: 0
+    referenced_type: "void"
+    source_file: ""
+    linker_set_key: "void"
   }
-  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
-  access: public_access
+  is_unsigned: false
+  is_integral: false
 }
 functions {
   return_type: "void"
@@ -293,6 +294,17 @@
   access: public_access
 }
 functions {
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "int"
+    default_arg: false
+  }
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
+  access: public_access
+}
+functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -305,43 +317,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -362,6 +337,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_extended.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_extended.so.lsdump
index 4a871ee..a7505e7 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_extended.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_extended.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -189,15 +198,8 @@
     name: "SuperSpeaker::Volume::LouderThanLoudest"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -212,6 +214,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -220,15 +242,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -266,17 +290,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -290,17 +313,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -313,43 +325,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -370,6 +345,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
index b9268e9..c8dc7f9 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,27 +286,15 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
-}
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
   parameters {
-    referenced_type: "SuperSpeaker *"
+    referenced_type: "int"
     default_arg: false
   }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
   access: public_access
 }
 functions {
@@ -298,43 +310,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -355,6 +330,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_cv_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_cv_diff.so.lsdump
index 5401d6a..9182b28 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_cv_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_cv_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "const float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "const float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,18 +286,6 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
-}
 qualified_types {
   type_info {
     name: "const float"
@@ -288,17 +300,6 @@
   is_restricted: false
 }
 functions {
-  return_type: "SuperSpeaker *"
-  function_name: "SuperSpeaker::CreateSuperSpeaker"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "int"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
-  access: public_access
-}
-functions {
   return_type: "void"
   function_name: "SuperSpeaker::SpeakLouder"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -310,6 +311,17 @@
   access: public_access
 }
 functions {
+  return_type: "SuperSpeaker *"
+  function_name: "SuperSpeaker::CreateSuperSpeaker"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "int"
+    default_arg: false
+  }
+  linker_set_key: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
+  access: public_access
+}
+functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -322,43 +334,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -379,6 +354,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_diff.so.lsdump
index b51dc44..b8cd3c0 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "long long *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "long long *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -240,6 +264,18 @@
 }
 builtin_types {
   type_info {
+    name: "long long"
+    size: 8
+    alignment: 8
+    referenced_type: "long long"
+    source_file: ""
+    linker_set_key: "long long"
+  }
+  is_unsigned: false
+  is_integral: true
+}
+builtin_types {
+  type_info {
     name: "unsigned int"
     size: 4
     alignment: 4
@@ -262,29 +298,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
-}
-builtin_types {
-  type_info {
-    name: "long long"
-    size: 8
-    alignment: 8
-    referenced_type: "long long"
-    source_file: ""
-    linker_set_key: "long long"
-  }
-  is_unsigned: false
-  is_integral: true
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -298,17 +321,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -321,43 +333,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -378,6 +353,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_fake_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_fake_diff.so.lsdump
index 62384b5..453cf6e 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_fake_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_fake_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,29 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "char32_t"
+    size: 4
+    alignment: 4
+    referenced_type: "char32_t"
+    source_file: ""
+    linker_set_key: "char32_t"
   }
+  is_unsigned: true
+  is_integral: true
+}
+builtin_types {
+  type_info {
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
+  }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,29 +298,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
-}
-builtin_types {
-  type_info {
-    name: "char32_t"
-    size: 4
-    alignment: 4
-    referenced_type: "char32_t"
-    source_file: ""
-    linker_set_key: "char32_t"
-  }
-  is_unsigned: true
-  is_integral: true
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -298,17 +321,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -321,43 +333,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -378,6 +353,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_integral_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_integral_type_diff.so.lsdump
index 8141cce..d97d0e7 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_integral_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_integral_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_parameter_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_parameter_type_diff.so.lsdump
index ce3b6d3..70a6fd7 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_parameter_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_parameter_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -320,24 +332,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  function_name: "LowVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
-    referenced_type: "HighVolumeSpeaker *"
+    referenced_type: "LowVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
 functions {
@@ -357,24 +369,24 @@
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
   access: public_access
 }
 functions {
   return_type: "void"
-  function_name: "LowVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
   parameters {
-    referenced_type: "LowVolumeSpeaker *"
+    referenced_type: "HighVolumeSpeaker *"
     default_arg: false
   }
-  linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
   access: public_access
 }
 elf_functions {
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_return_type_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_return_type_diff.so.lsdump
index 06be755..2635036 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_return_type_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_return_type_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "int"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "int"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
index 1ab5111..d721207 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,16 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  parameters {
+    referenced_type: "SuperSpeaker *"
+    default_arg: false
   }
-  is_unsigned: false
-  is_integral: false
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,17 +309,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  parameters {
-    referenced_type: "SuperSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -309,43 +321,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -366,6 +341,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_vtable_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_vtable_diff.so.lsdump
index 81acfc9..e234005 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_vtable_diff.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_vtable_diff.so.lsdump
@@ -1,55 +1,5 @@
 record_types {
   type_info {
-    name: "SuperSpeaker"
-    size: 16
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker"
-  }
-  fields {
-    referenced_type: "int"
-    field_offset: 64
-    field_name: "mSpeakderId"
-    access: private_access
-  }
-  vtable_layout {
-    vtable_components {
-      kind: OffsetToTop
-      mangled_component_name: ""
-      component_value: 0
-    }
-    vtable_components {
-      kind: RTTI
-      mangled_component_name: "SuperSpeaker"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: FunctionPointer
-      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
-      component_value: 0
-    }
-    vtable_components {
-      kind: CompleteDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
-      component_value: 0
-    }
-    vtable_components {
-      kind: DeletingDtorPointer
-      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
-      component_value: 0
-    }
-  }
-  access: public_access
-  record_kind: class_kind
-}
-record_types {
-  type_info {
     name: "HighVolumeSpeaker"
     size: 16
     alignment: 8
@@ -70,7 +20,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "HighVolumeSpeaker"
+      mangled_component_name: "_ZTI17HighVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -96,6 +46,9 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS17HighVolumeSpeaker"
+  }
 }
 record_types {
   type_info {
@@ -131,7 +84,7 @@
     }
     vtable_components {
       kind: RTTI
-      mangled_component_name: "LowVolumeSpeaker"
+      mangled_component_name: "_ZTI16LowVolumeSpeaker"
       component_value: 0
     }
     vtable_components {
@@ -157,6 +110,62 @@
   }
   access: public_access
   record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS16LowVolumeSpeaker"
+  }
+}
+record_types {
+  type_info {
+    name: "SuperSpeaker"
+    size: 16
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker"
+  }
+  fields {
+    referenced_type: "int"
+    field_offset: 64
+    field_name: "mSpeakderId"
+    access: private_access
+  }
+  vtable_layout {
+    vtable_components {
+      kind: OffsetToTop
+      mangled_component_name: ""
+      component_value: 0
+    }
+    vtable_components {
+      kind: RTTI
+      mangled_component_name: "_ZTI12SuperSpeaker"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker6ListenEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: FunctionPointer
+      mangled_component_name: "_ZN12SuperSpeaker5SpeakEv"
+      component_value: 0
+    }
+    vtable_components {
+      kind: CompleteDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD1Ev"
+      component_value: 0
+    }
+    vtable_components {
+      kind: DeletingDtorPointer
+      mangled_component_name: "_ZN12SuperSpeakerD0Ev"
+      component_value: 0
+    }
+  }
+  access: public_access
+  record_kind: class_kind
+  tag_info {
+    unique_id: "_ZTS12SuperSpeaker"
+  }
 }
 enum_types {
   type_info {
@@ -185,15 +194,8 @@
     name: "SuperSpeaker::Volume::Lower"
   }
   access: private_access
-}
-pointer_types {
-  type_info {
-    name: "SuperSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "SuperSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-    linker_set_key: "SuperSpeaker *"
+  tag_info {
+    unique_id: "_ZTSN12SuperSpeaker6VolumeE"
   }
 }
 pointer_types {
@@ -208,6 +210,26 @@
 }
 pointer_types {
   type_info {
+    name: "LowVolumeSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "LowVolumeSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
+    linker_set_key: "LowVolumeSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
+    name: "SuperSpeaker *"
+    size: 8
+    alignment: 8
+    referenced_type: "SuperSpeaker"
+    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+    linker_set_key: "SuperSpeaker *"
+  }
+}
+pointer_types {
+  type_info {
     name: "float *"
     size: 8
     alignment: 8
@@ -216,15 +238,17 @@
     linker_set_key: "float *"
   }
 }
-pointer_types {
+builtin_types {
   type_info {
-    name: "LowVolumeSpeaker *"
-    size: 8
-    alignment: 8
-    referenced_type: "LowVolumeSpeaker"
-    source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
-    linker_set_key: "LowVolumeSpeaker *"
+    name: "float"
+    size: 4
+    alignment: 4
+    referenced_type: "float"
+    source_file: ""
+    linker_set_key: "float"
   }
+  is_unsigned: false
+  is_integral: false
 }
 builtin_types {
   type_info {
@@ -262,17 +286,12 @@
   is_unsigned: false
   is_integral: false
 }
-builtin_types {
-  type_info {
-    name: "float"
-    size: 4
-    alignment: 4
-    referenced_type: "float"
-    source_file: ""
-    linker_set_key: "float"
-  }
-  is_unsigned: false
-  is_integral: false
+functions {
+  return_type: "void"
+  function_name: "SuperSpeaker::SpeakLouder"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
+  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
+  access: public_access
 }
 functions {
   return_type: "SuperSpeaker *"
@@ -286,13 +305,6 @@
   access: public_access
 }
 functions {
-  return_type: "void"
-  function_name: "SuperSpeaker::SpeakLouder"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
-  linker_set_key: "_ZN12SuperSpeaker11SpeakLouderEv"
-  access: public_access
-}
-functions {
   return_type: "SuperSpeaker::Volume"
   function_name: "SuperSpeaker::SpeakLoud"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h"
@@ -305,43 +317,6 @@
 }
 functions {
   return_type: "void"
-  function_name: "HighVolumeSpeaker::Speak"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
-  access: public_access
-}
-functions {
-  return_type: "void"
-  function_name: "HighVolumeSpeaker::Listen"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
-  access: public_access
-}
-functions {
-  return_type: "HighVolumeSpeaker *"
-  function_name: "HighVolumeSpeaker::BadPractice"
-  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
-  parameters {
-    referenced_type: "HighVolumeSpeaker *"
-    default_arg: false
-  }
-  parameters {
-    referenced_type: "float"
-    default_arg: false
-  }
-  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
-  access: public_access
-}
-functions {
-  return_type: "void"
   function_name: "LowVolumeSpeaker::Speak"
   source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h"
   parameters {
@@ -362,6 +337,43 @@
   linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv"
   access: public_access
 }
+functions {
+  return_type: "HighVolumeSpeaker *"
+  function_name: "HighVolumeSpeaker::BadPractice"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  parameters {
+    referenced_type: "float"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEf"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Speak"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker5SpeakEv"
+  access: public_access
+}
+functions {
+  return_type: "void"
+  function_name: "HighVolumeSpeaker::Listen"
+  source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h"
+  parameters {
+    referenced_type: "HighVolumeSpeaker *"
+    default_arg: false
+  }
+  linker_set_key: "_ZN17HighVolumeSpeaker6ListenEv"
+  access: public_access
+}
 elf_functions {
   name: "_Z26test_virtual_function_callP12SuperSpeaker"
 }
diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libreproducability.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libreproducability.so.lsdump
index 35d3613..2fd114f 100644
--- a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libreproducability.so.lsdump
+++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libreproducability.so.lsdump
@@ -14,8 +14,10 @@
     access: public_access
   }
   access: public_access
-  is_anonymous: true
   record_kind: struct_kind
+  tag_info {
+    unique_id: "_ZTS11ShouldRepro"
+  }
 }
 builtin_types {
   type_info {