diff --git a/vndk/tools/header-checker/header-abi-dumper/src/ast_processing.cpp b/vndk/tools/header-checker/header-abi-dumper/src/ast_processing.cpp index abf58edb676bb3decb287e5c9609c03d4f5ca8a7..f0022e2df36b24df83c438736bdc63a6755834ca 100644 --- a/vndk/tools/header-checker/header-abi-dumper/src/ast_processing.cpp +++ b/vndk/tools/header-checker/header-abi-dumper/src/ast_processing.cpp @@ -178,6 +178,9 @@ HeaderASTConsumer::HeaderASTConsumer( void HeaderASTConsumer::HandleTranslationUnit(clang::ASTContext &ctx) { clang::PrintingPolicy policy(ctx.getPrintingPolicy()); + // Suppress 'struct' keyword for C source files while getting QualType string + // names to avoid inconsistency between C and C++ (for C++ files, this is true + // by default) policy.SuppressTagKeyword = true; ctx.setPrintingPolicy(policy); clang::TranslationUnitDecl *translation_unit = ctx.getTranslationUnitDecl(); diff --git a/vndk/tools/header-checker/tests/expected/example1.cpp b/vndk/tools/header-checker/tests/expected/example1.cpp new file mode 100644 index 0000000000000000000000000000000000000000..39f03d20e7f04da7bb467d30b40178a342edcc09 --- /dev/null +++ b/vndk/tools/header-checker/tests/expected/example1.cpp @@ -0,0 +1,1205 @@ +record_types { + type_info { + name: "HiddenBase" + size: 8 + alignment: 4 + referenced_type: "HiddenBase" + source_file: "/development/vndk/tools/header-checker/tests/input/example3.h" + linker_set_key: "HiddenBase" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "hide" + access: private_access + } + fields { + referenced_type: "float" + field_offset: 32 + field_name: "seek" + access: private_access + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "test2::HelloAgain" + size: 40 + alignment: 8 + referenced_type: "test2::HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test2::HelloAgain" + } + fields { + referenced_type: "std::vector >" + field_offset: 64 + field_name: "foo_again" + access: public_access + } + fields { + referenced_type: "int" + field_offset: 256 + field_name: "bar_again" + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "test2::HelloAgain" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN5test210HelloAgain5againEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN5test210HelloAgainD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN5test210HelloAgainD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "test3::ByeAgain" + size: 16 + alignment: 8 + referenced_type: "test3::ByeAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test3::ByeAgain" + } + fields { + referenced_type: "double" + field_offset: 0 + field_name: "foo_again" + access: public_access + } + fields { + referenced_type: "int" + field_offset: 64 + field_name: "bar_again" + access: public_access + } + template_info { + elements { + referenced_type: "double" + } + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "test3::ByeAgain" + size: 8 + alignment: 4 + referenced_type: "test3::ByeAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test3::ByeAgain" + } + fields { + referenced_type: "float" + field_offset: 0 + field_name: "foo_again" + access: public_access + } + fields { + referenced_type: "float" + field_offset: 32 + field_name: "bar_Again" + access: public_access + } + template_info { + elements { + referenced_type: "float" + } + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "test3::Outer" + size: 4 + alignment: 4 + referenced_type: "test3::Outer" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test3::Outer" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "test3::Outer::Inner" + size: 4 + alignment: 4 + referenced_type: "test3::Outer::Inner" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test3::Outer::Inner" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "b" + access: private_access + } + access: private_access + record_kind: class_kind +} +record_types { + type_info { + name: "Hello::(anonymous)::(anonymous)" + size: 4 + alignment: 4 + referenced_type: "Hello::(anonymous)::(anonymous)" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "Hello::(anonymous)5::(anonymous)2" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + is_anonymous: true + record_kind: struct_kind +} +record_types { + type_info { + name: "Hello::(anonymous)" + size: 12 + alignment: 4 + referenced_type: "Hello::(anonymous)" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "Hello::(anonymous)5" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + fields { + referenced_type: "int" + field_offset: 32 + field_name: "b" + access: public_access + } + fields { + referenced_type: "Hello::(anonymous)5::(anonymous)2" + field_offset: 64 + field_name: "" + access: public_access + } + access: public_access + is_anonymous: true + record_kind: struct_kind +} +record_types { + type_info { + name: "Hello" + size: 32 + alignment: 4 + referenced_type: "Hello" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "Hello" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "foo" + access: public_access + } + fields { + referenced_type: "int" + field_offset: 32 + field_name: "bar" + access: public_access + } + fields { + referenced_type: "wchar_t" + field_offset: 64 + field_name: "d" + access: public_access + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "enum_field" + access: public_access + } + fields { + referenced_type: "unsigned int" + field_offset: 128 + field_name: "enum_field2" + access: public_access + } + fields { + referenced_type: "Hello::(anonymous)5" + field_offset: 160 + field_name: "" + access: public_access + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "CPPHello" + size: 56 + alignment: 8 + referenced_type: "CPPHello" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "CPPHello" + } + fields { + referenced_type: "const int" + field_offset: 352 + field_name: "cpp_foo" + access: public_access + } + fields { + referenced_type: "const float" + field_offset: 384 + field_name: "cpp_bar" + access: public_access + } + base_specifiers { + referenced_type: "test2::HelloAgain" + is_virtual: false + access: private_access + } + base_specifiers { + referenced_type: "test3::ByeAgain" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "CPPHello" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN8CPPHello5againEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN8CPPHelloD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN8CPPHelloD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "List" + size: 8 + alignment: 8 + referenced_type: "List" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "List" + } + fields { + referenced_type: "List::_Node *" + field_offset: 0 + field_name: "middle" + access: public_access + } + template_info { + elements { + referenced_type: "float" + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "List::_Node" + size: 24 + alignment: 8 + referenced_type: "List::_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "List::_Node" + } + fields { + referenced_type: "float" + field_offset: 0 + field_name: "mVal" + access: private_access + } + fields { + referenced_type: "List::_Node *" + field_offset: 64 + field_name: "mpPrev" + access: private_access + } + fields { + referenced_type: "List::_Node *" + field_offset: 128 + field_name: "mpNext" + access: private_access + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "List" + size: 8 + alignment: 8 + referenced_type: "List" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "List" + } + fields { + referenced_type: "List::_Node *" + field_offset: 0 + field_name: "middle" + access: public_access + } + template_info { + elements { + referenced_type: "int" + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "Foo_s" + size: 4 + alignment: 4 + referenced_type: "Foo_s" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "Foo_s" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 10 + name: "Foo_s::foosball" + } + enum_fields { + enum_field_value: 11 + name: "Foo_s::foosbat" + } + access: public_access +} +enum_types { + type_info { + name: "test3::Kind" + size: 4 + alignment: 4 + referenced_type: "test3::Kind" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test3::Kind" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 24 + name: "test3::Kind::kind1" + } + enum_fields { + enum_field_value: 2312 + name: "test3::Kind::kind2" + } + access: public_access +} +enum_types { + type_info { + name: "CPPHello::Bla" + size: 4 + alignment: 4 + referenced_type: "CPPHello::Bla" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "CPPHello::Bla" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "CPPHello::Bla::BLA" + } + access: public_access +} +pointer_types { + type_info { + name: "test2::HelloAgain *" + size: 8 + alignment: 8 + referenced_type: "test2::HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test2::HelloAgain *" + } +} +pointer_types { + type_info { + name: "test3::ByeAgain *" + size: 8 + alignment: 8 + referenced_type: "test3::ByeAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test3::ByeAgain *" + } +} +pointer_types { + type_info { + name: "test3::ByeAgain *" + size: 8 + alignment: 8 + referenced_type: "test3::ByeAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test3::ByeAgain *" + } +} +pointer_types { + type_info { + name: "ForwardDeclaration *" + size: 8 + alignment: 8 + referenced_type: "ForwardDeclaration" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "ForwardDeclaration *" + } +} +pointer_types { + type_info { + name: "CPPHello *" + size: 8 + alignment: 8 + referenced_type: "CPPHello" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "CPPHello *" + } +} +pointer_types { + type_info { + name: "int *" + size: 8 + alignment: 8 + referenced_type: "int" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "int *" + } +} +pointer_types { + type_info { + name: "float *" + size: 8 + alignment: 8 + referenced_type: "float" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "float *" + } +} +pointer_types { + type_info { + name: "List::_Node *" + size: 8 + alignment: 8 + referenced_type: "List::_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "List::_Node *" + } +} +pointer_types { + type_info { + name: "const List::_Node *" + size: 8 + alignment: 8 + referenced_type: "const List::_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const List::_Node *" + } +} +pointer_types { + type_info { + name: "List::_Node *" + size: 8 + alignment: 8 + referenced_type: "List::_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "List::_Node *" + } +} +pointer_types { + type_info { + name: "List *" + size: 8 + alignment: 8 + referenced_type: "List" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "List *" + } +} +pointer_types { + type_info { + name: "StackNode *" + size: 8 + alignment: 8 + referenced_type: "StackNode" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "StackNode *" + } +} +pointer_types { + type_info { + name: "const char *" + size: 8 + alignment: 8 + referenced_type: "const char" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const char *" + } +} +lvalue_reference_types { + type_info { + name: "int &" + size: 8 + alignment: 8 + referenced_type: "int" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "int &" + } +} +lvalue_reference_types { + type_info { + name: "const float &" + size: 8 + alignment: 8 + referenced_type: "const float" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const float &" + } +} +lvalue_reference_types { + type_info { + name: "float &" + size: 8 + alignment: 8 + referenced_type: "float" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "float &" + } +} +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: "float" + size: 4 + alignment: 4 + referenced_type: "float" + source_file: "" + linker_set_key: "float" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "bool" + size: 1 + alignment: 1 + referenced_type: "bool" + source_file: "" + linker_set_key: "bool" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "double" + size: 8 + alignment: 8 + referenced_type: "double" + source_file: "" + linker_set_key: "double" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "wchar_t" + size: 4 + alignment: 4 + referenced_type: "wchar_t" + source_file: "" + linker_set_key: "wchar_t" + } + is_unsigned: false + is_integral: true +} +builtin_types { + type_info { + name: "char" + size: 1 + alignment: 1 + referenced_type: "char" + source_file: "" + linker_set_key: "char" + } + is_unsigned: false + is_integral: true +} +qualified_types { + type_info { + name: "bool const[2]" + size: 2 + alignment: 1 + referenced_type: "bool [2]" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "bool const[2]" + } + is_const: true + is_volatile: false + is_restricted: false +} +qualified_types { + type_info { + name: "const int" + size: 4 + alignment: 4 + referenced_type: "int" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const int" + } + is_const: true + is_volatile: false + is_restricted: false +} +qualified_types { + type_info { + name: "const float" + size: 4 + alignment: 4 + referenced_type: "float" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const float" + } + is_const: true + is_volatile: false + is_restricted: false +} +qualified_types { + type_info { + name: "const CPPHello" + size: 56 + alignment: 8 + referenced_type: "CPPHello" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const CPPHello" + } + is_const: true + is_volatile: false + is_restricted: false +} +qualified_types { + type_info { + name: "const List::_Node" + size: 24 + alignment: 8 + referenced_type: "List::_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const List::_Node" + } + is_const: true + is_volatile: false + is_restricted: false +} +qualified_types { + type_info { + name: "const char" + size: 1 + alignment: 1 + referenced_type: "char" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const char" + } + is_const: true + is_volatile: false + is_restricted: false +} +array_types { + type_info { + name: "bool [2]" + size: 2 + alignment: 1 + referenced_type: "bool" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "bool [2]" + } +} +functions { + return_type: "int" + function_name: "test2::HelloAgain::again" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test2::HelloAgain *" + default_arg: false + } + linker_set_key: "_ZN5test210HelloAgain5againEv" + access: public_access +} +functions { + return_type: "void" + function_name: "test2::HelloAgain::~HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test2::HelloAgain *" + default_arg: false + } + linker_set_key: "_ZN5test210HelloAgainD2Ev" + access: public_access +} +functions { + return_type: "void" + function_name: "test2::HelloAgain::~HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test2::HelloAgain *" + default_arg: false + } + linker_set_key: "_ZN5test210HelloAgainD1Ev" + access: public_access +} +functions { + return_type: "void" + function_name: "test2::HelloAgain::~HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test2::HelloAgain *" + default_arg: false + } + linker_set_key: "_ZN5test210HelloAgainD0Ev" + access: public_access +} +functions { + return_type: "double" + function_name: "test3::ByeAgain::method_foo" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test3::ByeAgain *" + default_arg: false + } + parameters { + referenced_type: "double" + default_arg: false + } + linker_set_key: "_ZN5test38ByeAgainIdE10method_fooEd" + access: public_access +} +functions { + return_type: "float" + function_name: "test3::ByeAgain::method_foo" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test3::ByeAgain *" + default_arg: false + } + parameters { + referenced_type: "int" + default_arg: false + } + linker_set_key: "_ZN5test38ByeAgainIfE10method_fooEi" + access: public_access +} +functions { + return_type: "bool" + function_name: "test3::Begin" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "float" + default_arg: false + } + parameters { + referenced_type: "int" + default_arg: false + } + parameters { + referenced_type: "int" + default_arg: false + } + template_info { + elements { + referenced_type: "float" + } + elements { + referenced_type: "int" + } + } + linker_set_key: "_ZN5test35BeginIfiEEbT_T0_i" + access: public_access +} +functions { + return_type: "bool" + function_name: "test3::End" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "float" + default_arg: true + } + linker_set_key: "_ZN5test33EndEf" + access: public_access +} +functions { + return_type: "std::vector >" + function_name: "test3::Dummy" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "int" + default_arg: false + } + linker_set_key: "_ZN5test35DummyEi" + access: public_access +} +functions { + return_type: "int" + function_name: "uses_forward_decl" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "ForwardDeclaration *" + default_arg: false + } + linker_set_key: "uses_forward_decl" + access: public_access +} +functions { + return_type: "int" + function_name: "CPPHello::again" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "CPPHello *" + default_arg: false + } + linker_set_key: "_ZN8CPPHello5againEv" + access: public_access +} +functions { + return_type: "void" + function_name: "CPPHello::CPPHello" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "CPPHello *" + default_arg: false + } + linker_set_key: "_ZN8CPPHelloC2Ev" + access: public_access +} +functions { + return_type: "void" + function_name: "CPPHello::CPPHello" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "CPPHello *" + default_arg: false + } + linker_set_key: "_ZN8CPPHelloC1Ev" + access: public_access +} +functions { + return_type: "int" + function_name: "CPPHello::test_enum" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "CPPHello *" + default_arg: false + } + linker_set_key: "_ZN8CPPHello9test_enumEv" + access: public_access +} +functions { + return_type: "void" + function_name: "fooVariadic" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "int &" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false + } + linker_set_key: "_Z11fooVariadicRiPiz" + access: public_access +} +functions { + return_type: "int" + function_name: "boo" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "const CPPHello" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false + } + parameters { + referenced_type: "float *" + default_arg: false + } + linker_set_key: "_Z3boo8CPPHelloPiPf" + access: public_access +} +functions { + return_type: "void" + function_name: "List::_Node::_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List::_Node *" + default_arg: false + } + parameters { + referenced_type: "const float &" + default_arg: false + } + linker_set_key: "_ZN4ListIfE5_NodeC2ERKf" + access: public_access +} +functions { + return_type: "void" + function_name: "List::_Node::_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List::_Node *" + default_arg: false + } + parameters { + referenced_type: "const float &" + default_arg: false + } + linker_set_key: "_ZN4ListIfE5_NodeC1ERKf" + access: public_access +} +functions { + return_type: "void" + function_name: "List::_Node::~_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List::_Node *" + default_arg: false + } + linker_set_key: "_ZN4ListIfE5_NodeD2Ev" + access: public_access +} +functions { + return_type: "void" + function_name: "List::_Node::~_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List::_Node *" + default_arg: false + } + linker_set_key: "_ZN4ListIfE5_NodeD1Ev" + access: public_access +} +functions { + return_type: "float &" + function_name: "List::_Node::getRef" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List::_Node *" + default_arg: false + } + linker_set_key: "_ZN4ListIfE5_Node6getRefEv" + access: public_access +} +functions { + return_type: "const float &" + function_name: "List::_Node::getRef" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "const List::_Node *" + default_arg: false + } + linker_set_key: "_ZNK4ListIfE5_Node6getRefEv" + access: public_access +} +functions { + return_type: "void" + function_name: "List::_Node::PrivateNode" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List::_Node *" + default_arg: false + } + linker_set_key: "_ZN4ListIfE5_Node11PrivateNodeEv" + access: private_access +} +functions { + return_type: "int" + function_name: "ListMangle" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List *" + default_arg: false + } + parameters { + referenced_type: "StackNode *" + default_arg: false + } + linker_set_key: "_Z10ListMangleP4ListIiEP9StackNodeIiE" + access: public_access +} +functions { + return_type: "List" + function_name: "castInterface" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List" + default_arg: false + } + parameters { + referenced_type: "const char *" + default_arg: false + } + parameters { + referenced_type: "bool" + default_arg: false + } + template_info { + elements { + referenced_type: "float" + } + elements { + referenced_type: "float" + } + elements { + referenced_type: "float" + } + elements { + referenced_type: "float" + } + } + linker_set_key: "_Z13castInterfaceIffffE4ListIT_ES0_IT0_EPKcb" + access: public_access +} +functions { + return_type: "void" + function_name: "format" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "_Z6formatv" + access: public_access +} +global_vars { + name: "test2::HelloAgain::hello_forever" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "_ZN5test210HelloAgain13hello_foreverE" + referenced_type: "int" + access: public_access +} +global_vars { + name: "__test_var" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "_ZL10__test_var" + referenced_type: "bool const[2]" + access: public_access +} +global_vars { + name: "test3::ByeAgain::foo_forever" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "_ZN5test38ByeAgainIfE11foo_foreverE" + referenced_type: "int" + access: public_access +} +global_vars { + name: "test3::double_bye" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "_ZN5test310double_byeE" + referenced_type: "test3::ByeAgain" + access: public_access +} +global_vars { + name: "float_list_test" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "float_list_test" + referenced_type: "List" + access: public_access +} +global_vars { + name: "int_list_test" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "int_list_test" + referenced_type: "List" + access: public_access +} +global_vars { + name: "node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "node" + referenced_type: "List::_Node" + access: public_access +} diff --git a/vndk/tools/header-checker/tests/expected/example1.h b/vndk/tools/header-checker/tests/expected/example1.h index 78d1c1e2e575cd2cead6b8b2119419887e774aee..39f03d20e7f04da7bb467d30b40178a342edcc09 100644 --- a/vndk/tools/header-checker/tests/expected/example1.h +++ b/vndk/tools/header-checker/tests/expected/example1.h @@ -1,74 +1,48 @@ -records { - basic_abi { - type_abi { - name: "HiddenBase" - size: 8 - alignment: 4 - } +record_types { + type_info { name: "HiddenBase" - access: public_access + size: 8 + alignment: 4 + referenced_type: "HiddenBase" + source_file: "/development/vndk/tools/header-checker/tests/input/example3.h" linker_set_key: "HiddenBase" } fields { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "hide" - access: private_access - } + referenced_type: "int" + field_offset: 0 + field_name: "hide" + access: private_access } fields { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "seek" - access: private_access - } + referenced_type: "float" + field_offset: 32 + field_name: "seek" + access: private_access } - source_file: "./input/example3.h" - mangled_record_name: "HiddenBase" + access: public_access + record_kind: class_kind } -records { - basic_abi { - type_abi { - name: "test2::HelloAgain" - size: 40 - alignment: 8 - } +record_types { + type_info { name: "test2::HelloAgain" - access: public_access + size: 40 + alignment: 8 + referenced_type: "test2::HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test2::HelloAgain" } fields { - basic_abi { - type_abi { - name: "std::vector >" - size: 24 - alignment: 8 - } - name: "foo_again" - access: public_access - } + referenced_type: "std::vector >" + field_offset: 64 + field_name: "foo_again" + access: public_access } fields { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "bar_again" - access: public_access - } + referenced_type: "int" + field_offset: 256 + field_name: "bar_again" + access: public_access } - source_file: "./input/example2.h" - mangled_record_name: "test2::HelloAgain" vtable_layout { vtable_components { kind: OffsetToTop @@ -85,241 +59,243 @@ records { mangled_component_name: "_ZN5test210HelloAgain5againEv" component_value: 0 } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN5test210HelloAgainD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN5test210HelloAgainD0Ev" + component_value: 0 + } } + access: public_access + record_kind: struct_kind } -records { - basic_abi { - type_abi { - name: "test3::ByeAgain" - size: 16 - alignment: 8 - } - name: "test3::ByeAgain" - access: public_access +record_types { + type_info { + name: "test3::ByeAgain" + size: 16 + alignment: 8 + referenced_type: "test3::ByeAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::ByeAgain" } fields { - basic_abi { - type_abi { - name: "double" - size: 8 - alignment: 8 - } - name: "foo_again" - access: public_access - } + referenced_type: "double" + field_offset: 0 + field_name: "foo_again" + access: public_access } fields { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "bar_again" - access: public_access - } + referenced_type: "int" + field_offset: 64 + field_name: "bar_again" + access: public_access } - source_file: "./input/example2.h" template_info { elements { - basic_abi { - type_abi { - name: "double" - } - linker_set_key: "double" - } + referenced_type: "double" } } - mangled_record_name: "test3::ByeAgain" + access: public_access + record_kind: struct_kind } -records { - basic_abi { - type_abi { - name: "test3::ByeAgain" - size: 8 - alignment: 4 - } - name: "test3::ByeAgain" - access: public_access +record_types { + type_info { + name: "test3::ByeAgain" + size: 8 + alignment: 4 + referenced_type: "test3::ByeAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::ByeAgain" } fields { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "foo_again" - access: public_access - } + referenced_type: "float" + field_offset: 0 + field_name: "foo_again" + access: public_access } fields { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "bar_Again" - access: public_access - } + referenced_type: "float" + field_offset: 32 + field_name: "bar_Again" + access: public_access } - source_file: "./input/example2.h" template_info { elements { - basic_abi { - type_abi { - name: "float" - } - linker_set_key: "float" - } + referenced_type: "float" } } - mangled_record_name: "test3::ByeAgain" + access: public_access + record_kind: struct_kind } -records { - basic_abi { - type_abi { - name: "test3::Outer" - size: 4 - alignment: 4 - } +record_types { + type_info { name: "test3::Outer" - access: public_access + size: 4 + alignment: 4 + referenced_type: "test3::Outer" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::Outer" } fields { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "a" - access: public_access - } + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access } - source_file: "./input/example2.h" - mangled_record_name: "test3::Outer" + access: public_access + record_kind: class_kind } -records { - basic_abi { - type_abi { - name: "test3::Outer::Inner" - size: 4 - alignment: 4 - } +record_types { + type_info { name: "test3::Outer::Inner" - access: private_access + size: 4 + alignment: 4 + referenced_type: "test3::Outer::Inner" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::Outer::Inner" } fields { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "b" - access: private_access - } + referenced_type: "int" + field_offset: 0 + field_name: "b" + access: private_access } - source_file: "./input/example2.h" - mangled_record_name: "test3::Outer::Inner" + access: private_access + record_kind: class_kind } -records { - basic_abi { - type_abi { - name: "Hello" - size: 8 - alignment: 4 - } - name: "Hello" +record_types { + type_info { + name: "Hello::(anonymous)::(anonymous)" + size: 4 + alignment: 4 + referenced_type: "Hello::(anonymous)::(anonymous)" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "Hello::(anonymous)5::(anonymous)2" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + is_anonymous: true + record_kind: struct_kind +} +record_types { + type_info { + name: "Hello::(anonymous)" + size: 12 + alignment: 4 + referenced_type: "Hello::(anonymous)" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "Hello::(anonymous)5" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + fields { + referenced_type: "int" + field_offset: 32 + field_name: "b" + access: public_access + } + fields { + referenced_type: "Hello::(anonymous)5::(anonymous)2" + field_offset: 64 + field_name: "" access: public_access + } + access: public_access + is_anonymous: true + record_kind: struct_kind +} +record_types { + type_info { + name: "Hello" + size: 32 + alignment: 4 + referenced_type: "Hello" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "Hello" } fields { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "foo" - access: public_access - } + referenced_type: "int" + field_offset: 0 + field_name: "foo" + access: public_access } fields { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "bar" - access: public_access - } + referenced_type: "int" + field_offset: 32 + field_name: "bar" + access: public_access + } + fields { + referenced_type: "wchar_t" + field_offset: 64 + field_name: "d" + access: public_access + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "enum_field" + access: public_access + } + fields { + referenced_type: "unsigned int" + field_offset: 128 + field_name: "enum_field2" + access: public_access + } + fields { + referenced_type: "Hello::(anonymous)5" + field_offset: 160 + field_name: "" + access: public_access } - source_file: "./input/example1.h" - mangled_record_name: "Hello" + access: public_access + record_kind: struct_kind } -records { - basic_abi { - type_abi { - name: "CPPHello" - size: 56 - alignment: 8 - } +record_types { + type_info { name: "CPPHello" - access: public_access + size: 56 + alignment: 8 + referenced_type: "CPPHello" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "CPPHello" } fields { - basic_abi { - type_abi { - name: "const int" - size: 4 - alignment: 4 - } - name: "cpp_foo" - access: public_access - } + referenced_type: "const int" + field_offset: 352 + field_name: "cpp_foo" + access: public_access } fields { - basic_abi { - type_abi { - name: "const float" - size: 4 - alignment: 4 - } - name: "cpp_bar" - access: public_access - } + referenced_type: "const float" + field_offset: 384 + field_name: "cpp_bar" + access: public_access } base_specifiers { - basic_abi { - type_abi { - name: "test2::HelloAgain" - } - name: "" - access: private_access - } + referenced_type: "test2::HelloAgain" is_virtual: false + access: private_access } base_specifiers { - basic_abi { - type_abi { - name: "test3::ByeAgain" - } - name: "" - access: public_access - } + referenced_type: "test3::ByeAgain" is_virtual: false + access: public_access } - source_file: "./input/example1.h" - mangled_record_name: "CPPHello" vtable_layout { vtable_components { kind: OffsetToTop @@ -336,460 +312,894 @@ records { mangled_component_name: "_ZN8CPPHello5againEv" component_value: 0 } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN8CPPHelloD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN8CPPHelloD0Ev" + component_value: 0 + } } + access: public_access + record_kind: struct_kind } -records { - basic_abi { - type_abi { - name: "List" - size: 8 - alignment: 8 - } - name: "List" - access: public_access +record_types { + type_info { + name: "List" + size: 8 + alignment: 8 + referenced_type: "List" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "List" } fields { - basic_abi { - type_abi { - name: "List::_Node *" - size: 8 - alignment: 8 - } - name: "middle" - access: protected_access - } + referenced_type: "List::_Node *" + field_offset: 0 + field_name: "middle" + access: public_access } - source_file: "./input/example1.h" template_info { elements { - basic_abi { - type_abi { - name: "float" - } - linker_set_key: "float" - } + referenced_type: "float" } } - mangled_record_name: "List" + access: public_access + record_kind: class_kind } -records { - basic_abi { - type_abi { - name: "List" - size: 8 - alignment: 8 - } - name: "List" - access: public_access +record_types { + type_info { + name: "List::_Node" + size: 24 + alignment: 8 + referenced_type: "List::_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "List::_Node" + } + fields { + referenced_type: "float" + field_offset: 0 + field_name: "mVal" + access: private_access + } + fields { + referenced_type: "List::_Node *" + field_offset: 64 + field_name: "mpPrev" + access: private_access + } + fields { + referenced_type: "List::_Node *" + field_offset: 128 + field_name: "mpNext" + access: private_access + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "List" + size: 8 + alignment: 8 + referenced_type: "List" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" linker_set_key: "List" } fields { - basic_abi { - type_abi { - name: "List::_Node *" - size: 8 - alignment: 8 - } - name: "middle" - access: protected_access - } + referenced_type: "List::_Node *" + field_offset: 0 + field_name: "middle" + access: public_access } - source_file: "./input/example1.h" template_info { elements { - basic_abi { - type_abi { - name: "int" - } - linker_set_key: "int" - } + referenced_type: "int" } } - mangled_record_name: "List" + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "Foo_s" + size: 4 + alignment: 4 + referenced_type: "Foo_s" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "Foo_s" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 10 + name: "Foo_s::foosball" + } + enum_fields { + enum_field_value: 11 + name: "Foo_s::foosbat" + } + access: public_access +} +enum_types { + type_info { + name: "test3::Kind" + size: 4 + alignment: 4 + referenced_type: "test3::Kind" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test3::Kind" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 24 + name: "test3::Kind::kind1" + } + enum_fields { + enum_field_value: 2312 + name: "test3::Kind::kind2" + } + access: public_access +} +enum_types { + type_info { + name: "CPPHello::Bla" + size: 4 + alignment: 4 + referenced_type: "CPPHello::Bla" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "CPPHello::Bla" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "CPPHello::Bla::BLA" + } + access: public_access +} +pointer_types { + type_info { + name: "test2::HelloAgain *" + size: 8 + alignment: 8 + referenced_type: "test2::HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test2::HelloAgain *" + } +} +pointer_types { + type_info { + name: "test3::ByeAgain *" + size: 8 + alignment: 8 + referenced_type: "test3::ByeAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test3::ByeAgain *" + } +} +pointer_types { + type_info { + name: "test3::ByeAgain *" + size: 8 + alignment: 8 + referenced_type: "test3::ByeAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test3::ByeAgain *" + } +} +pointer_types { + type_info { + name: "ForwardDeclaration *" + size: 8 + alignment: 8 + referenced_type: "ForwardDeclaration" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "ForwardDeclaration *" + } +} +pointer_types { + type_info { + name: "CPPHello *" + size: 8 + alignment: 8 + referenced_type: "CPPHello" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "CPPHello *" + } +} +pointer_types { + type_info { + name: "int *" + size: 8 + alignment: 8 + referenced_type: "int" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "int *" + } +} +pointer_types { + type_info { + name: "float *" + size: 8 + alignment: 8 + referenced_type: "float" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "float *" + } +} +pointer_types { + type_info { + name: "List::_Node *" + size: 8 + alignment: 8 + referenced_type: "List::_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "List::_Node *" + } +} +pointer_types { + type_info { + name: "const List::_Node *" + size: 8 + alignment: 8 + referenced_type: "const List::_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const List::_Node *" + } +} +pointer_types { + type_info { + name: "List::_Node *" + size: 8 + alignment: 8 + referenced_type: "List::_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "List::_Node *" + } +} +pointer_types { + type_info { + name: "List *" + size: 8 + alignment: 8 + referenced_type: "List" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "List *" + } +} +pointer_types { + type_info { + name: "StackNode *" + size: 8 + alignment: 8 + referenced_type: "StackNode" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "StackNode *" + } +} +pointer_types { + type_info { + name: "const char *" + size: 8 + alignment: 8 + referenced_type: "const char" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const char *" + } +} +lvalue_reference_types { + type_info { + name: "int &" + size: 8 + alignment: 8 + referenced_type: "int" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "int &" + } +} +lvalue_reference_types { + type_info { + name: "const float &" + size: 8 + alignment: 8 + referenced_type: "const float" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const float &" + } +} +lvalue_reference_types { + type_info { + name: "float &" + size: 8 + alignment: 8 + referenced_type: "float" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "float &" + } +} +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: "float" + size: 4 + alignment: 4 + referenced_type: "float" + source_file: "" + linker_set_key: "float" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "bool" + size: 1 + alignment: 1 + referenced_type: "bool" + source_file: "" + linker_set_key: "bool" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "double" + size: 8 + alignment: 8 + referenced_type: "double" + source_file: "" + linker_set_key: "double" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "wchar_t" + size: 4 + alignment: 4 + referenced_type: "wchar_t" + source_file: "" + linker_set_key: "wchar_t" + } + is_unsigned: false + is_integral: true +} +builtin_types { + type_info { + name: "char" + size: 1 + alignment: 1 + referenced_type: "char" + source_file: "" + linker_set_key: "char" + } + is_unsigned: false + is_integral: true +} +qualified_types { + type_info { + name: "bool const[2]" + size: 2 + alignment: 1 + referenced_type: "bool [2]" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "bool const[2]" + } + is_const: true + is_volatile: false + is_restricted: false +} +qualified_types { + type_info { + name: "const int" + size: 4 + alignment: 4 + referenced_type: "int" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const int" + } + is_const: true + is_volatile: false + is_restricted: false +} +qualified_types { + type_info { + name: "const float" + size: 4 + alignment: 4 + referenced_type: "float" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const float" + } + is_const: true + is_volatile: false + is_restricted: false +} +qualified_types { + type_info { + name: "const CPPHello" + size: 56 + alignment: 8 + referenced_type: "CPPHello" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const CPPHello" + } + is_const: true + is_volatile: false + is_restricted: false +} +qualified_types { + type_info { + name: "const List::_Node" + size: 24 + alignment: 8 + referenced_type: "List::_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const List::_Node" + } + is_const: true + is_volatile: false + is_restricted: false +} +qualified_types { + type_info { + name: "const char" + size: 1 + alignment: 1 + referenced_type: "char" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "const char" + } + is_const: true + is_volatile: false + is_restricted: false +} +array_types { + type_info { + name: "bool [2]" + size: 2 + alignment: 1 + referenced_type: "bool" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "bool [2]" + } } functions { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "test2::HelloAgain::again" - access: public_access - linker_set_key: "_ZN5test210HelloAgain5againEv" + return_type: "int" + function_name: "test2::HelloAgain::again" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test2::HelloAgain *" + default_arg: false } - mangled_function_name: "_ZN5test210HelloAgain5againEv" - source_file: "./input/example2.h" + linker_set_key: "_ZN5test210HelloAgain5againEv" + access: public_access } functions { - basic_abi { - type_abi { - name: "double" - size: 8 - alignment: 8 - } - name: "test3::ByeAgain::method_foo" - access: public_access - linker_set_key: "_ZN5test38ByeAgainIdE10method_fooEd" - } - mangled_function_name: "_ZN5test38ByeAgainIdE10method_fooEd" - source_file: "./input/example2.h" - parameters { - basic_abi { - type_abi { - name: "double" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + return_type: "void" + function_name: "test2::HelloAgain::~HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test2::HelloAgain *" default_arg: false } + linker_set_key: "_ZN5test210HelloAgainD2Ev" + access: public_access } functions { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "test3::ByeAgain::method_foo" - access: public_access - linker_set_key: "_ZN5test38ByeAgainIfE10method_fooEi" - } - mangled_function_name: "_ZN5test38ByeAgainIfE10method_fooEi" - source_file: "./input/example2.h" - parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + return_type: "void" + function_name: "test2::HelloAgain::~HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test2::HelloAgain *" default_arg: false } + linker_set_key: "_ZN5test210HelloAgainD1Ev" + access: public_access } functions { - basic_abi { - type_abi { - name: "bool" - size: 1 - alignment: 1 - } - name: "test3::Begin" - access: public_access - linker_set_key: "_ZN5test35BeginIfiEEbT_T0_i" - } - mangled_function_name: "_ZN5test35BeginIfiEEbT_T0_i" - source_file: "./input/example2.h" - parameters { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "arg1" - access: public_access - linker_set_key: "false" - } + return_type: "void" + function_name: "test2::HelloAgain::~HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test2::HelloAgain *" default_arg: false } + linker_set_key: "_ZN5test210HelloAgainD0Ev" + access: public_access +} +functions { + return_type: "double" + function_name: "test3::ByeAgain::method_foo" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "arg2" - access: public_access - linker_set_key: "false" - } + referenced_type: "test3::ByeAgain *" default_arg: false } parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "c" - access: public_access - linker_set_key: "false" - } + referenced_type: "double" + default_arg: false + } + linker_set_key: "_ZN5test38ByeAgainIdE10method_fooEd" + access: public_access +} +functions { + return_type: "float" + function_name: "test3::ByeAgain::method_foo" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test3::ByeAgain *" + default_arg: false + } + parameters { + referenced_type: "int" + default_arg: false + } + linker_set_key: "_ZN5test38ByeAgainIfE10method_fooEi" + access: public_access +} +functions { + return_type: "bool" + function_name: "test3::Begin" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "float" + default_arg: false + } + parameters { + referenced_type: "int" + default_arg: false + } + parameters { + referenced_type: "int" default_arg: false } template_info { elements { - basic_abi { - type_abi { - name: "float" - } - linker_set_key: "float" - } + referenced_type: "float" } elements { - basic_abi { - type_abi { - name: "int" - } - linker_set_key: "int" - } + referenced_type: "int" } } + linker_set_key: "_ZN5test35BeginIfiEEbT_T0_i" + access: public_access } functions { - basic_abi { - type_abi { - name: "bool" - size: 1 - alignment: 1 - } - name: "test3::End" - access: public_access - linker_set_key: "_ZN5test33EndEf" - } - mangled_function_name: "_ZN5test33EndEf" - source_file: "./input/example2.h" - parameters { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "arg" - access: public_access - linker_set_key: "true" - } + return_type: "bool" + function_name: "test3::End" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "float" default_arg: true } + linker_set_key: "_ZN5test33EndEf" + access: public_access } functions { - basic_abi { - type_abi { - name: "std::vector >" - } - name: "test3::Dummy" - access: public_access - linker_set_key: "_ZN5test35DummyEi" - } - mangled_function_name: "_ZN5test35DummyEi" - source_file: "./input/example2.h" - parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "t" - access: public_access - linker_set_key: "false" - } + return_type: "std::vector >" + function_name: "test3::Dummy" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "int" default_arg: false } + linker_set_key: "_ZN5test35DummyEi" + access: public_access } functions { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "CPPHello::again" - access: public_access - linker_set_key: "_ZN8CPPHello5againEv" + return_type: "int" + function_name: "uses_forward_decl" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "ForwardDeclaration *" + default_arg: false } - mangled_function_name: "_ZN8CPPHello5againEv" - source_file: "./input/example1.h" + linker_set_key: "uses_forward_decl" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "CPPHello::CPPHello" - access: public_access - linker_set_key: "_ZN8CPPHelloC2Ev" + return_type: "int" + function_name: "CPPHello::again" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "CPPHello *" + default_arg: false } - mangled_function_name: "_ZN8CPPHelloC2Ev" - source_file: "./input/example1.h" + linker_set_key: "_ZN8CPPHello5againEv" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "CPPHello::CPPHello" - access: public_access - linker_set_key: "_ZN8CPPHelloC1Ev" + return_type: "void" + function_name: "CPPHello::CPPHello" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "CPPHello *" + default_arg: false } - mangled_function_name: "_ZN8CPPHelloC1Ev" - source_file: "./input/example1.h" + linker_set_key: "_ZN8CPPHelloC2Ev" + access: public_access } -enums { - basic_abi { - type_abi { - name: "unsigned int" - size: 4 - alignment: 4 - } - name: "Foo_s" - access: public_access - linker_set_key: "Foo_s" +functions { + return_type: "void" + function_name: "CPPHello::CPPHello" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "CPPHello *" + default_arg: false } - enum_fields { - basic_abi { - type_abi { - name: "Foo_s" - size: 4 - alignment: 4 - } - name: "Foo_s::foosball" - access: public_access - linker_set_key: "10" - } - enum_field_value: 10 + linker_set_key: "_ZN8CPPHelloC1Ev" + access: public_access +} +functions { + return_type: "int" + function_name: "CPPHello::test_enum" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "CPPHello *" + default_arg: false } - enum_fields { - basic_abi { - type_abi { - name: "Foo_s" - size: 4 - alignment: 4 - } - name: "Foo_s::foosbat" - access: public_access - linker_set_key: "11" - } - enum_field_value: 11 + linker_set_key: "_ZN8CPPHello9test_enumEv" + access: public_access +} +functions { + return_type: "void" + function_name: "fooVariadic" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "int &" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false } - source_file: "./input/example2.h" + linker_set_key: "_Z11fooVariadicRiPiz" + access: public_access } -enums { - basic_abi { - type_abi { - name: "unsigned int" - size: 4 - alignment: 4 - } - name: "test3::Kind" - access: public_access - linker_set_key: "test3::Kind" +functions { + return_type: "int" + function_name: "boo" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "const CPPHello" + default_arg: false } - enum_fields { - basic_abi { - type_abi { - name: "test3::Kind" - size: 4 - alignment: 4 - } - name: "test3::Kind::kind1" - access: public_access - linker_set_key: "24" - } - enum_field_value: 24 + parameters { + referenced_type: "int *" + default_arg: false } - enum_fields { - basic_abi { - type_abi { - name: "test3::Kind" - size: 4 - alignment: 4 - } - name: "test3::Kind::kind2" - access: public_access - linker_set_key: "2312" - } - enum_field_value: 2312 + parameters { + referenced_type: "float *" + default_arg: false } - source_file: "./input/example2.h" + linker_set_key: "_Z3boo8CPPHelloPiPf" + access: public_access } -global_vars { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "test2::HelloAgain::hello_forever" - access: public_access - linker_set_key: "_ZN5test210HelloAgain13hello_foreverE" +functions { + return_type: "void" + function_name: "List::_Node::_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List::_Node *" + default_arg: false + } + parameters { + referenced_type: "const float &" + default_arg: false } - source_file: "./input/example2.h" + linker_set_key: "_ZN4ListIfE5_NodeC2ERKf" + access: public_access } -global_vars { - basic_abi { - type_abi { - name: "bool const[2]" - size: 2 - alignment: 1 - } - name: "__test_var" - access: public_access - linker_set_key: "_ZL10__test_var" +functions { + return_type: "void" + function_name: "List::_Node::_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List::_Node *" + default_arg: false + } + parameters { + referenced_type: "const float &" + default_arg: false } - source_file: "./input/example2.h" + linker_set_key: "_ZN4ListIfE5_NodeC1ERKf" + access: public_access } -global_vars { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "test3::ByeAgain::foo_forever" - access: public_access - linker_set_key: "_ZN5test38ByeAgainIfE11foo_foreverE" +functions { + return_type: "void" + function_name: "List::_Node::~_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List::_Node *" + default_arg: false } - source_file: "./input/example2.h" + linker_set_key: "_ZN4ListIfE5_NodeD2Ev" + access: public_access } -global_vars { - basic_abi { - type_abi { - name: "test3::ByeAgain" - size: 16 - alignment: 8 - } - name: "test3::double_bye" - access: public_access - linker_set_key: "_ZN5test310double_byeE" +functions { + return_type: "void" + function_name: "List::_Node::~_Node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List::_Node *" + default_arg: false } - source_file: "./input/example2.h" + linker_set_key: "_ZN4ListIfE5_NodeD1Ev" + access: public_access } -global_vars { - basic_abi { - type_abi { - name: "List" - size: 8 - alignment: 8 - } - name: "float_list_test" - access: public_access - linker_set_key: "float_list_test" +functions { + return_type: "float &" + function_name: "List::_Node::getRef" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List::_Node *" + default_arg: false } - source_file: "./input/example1.h" + linker_set_key: "_ZN4ListIfE5_Node6getRefEv" + access: public_access } -global_vars { - basic_abi { - type_abi { - name: "List" - size: 8 - alignment: 8 +functions { + return_type: "const float &" + function_name: "List::_Node::getRef" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "const List::_Node *" + default_arg: false + } + linker_set_key: "_ZNK4ListIfE5_Node6getRefEv" + access: public_access +} +functions { + return_type: "void" + function_name: "List::_Node::PrivateNode" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List::_Node *" + default_arg: false + } + linker_set_key: "_ZN4ListIfE5_Node11PrivateNodeEv" + access: private_access +} +functions { + return_type: "int" + function_name: "ListMangle" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List *" + default_arg: false + } + parameters { + referenced_type: "StackNode *" + default_arg: false + } + linker_set_key: "_Z10ListMangleP4ListIiEP9StackNodeIiE" + access: public_access +} +functions { + return_type: "List" + function_name: "castInterface" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + parameters { + referenced_type: "List" + default_arg: false + } + parameters { + referenced_type: "const char *" + default_arg: false + } + parameters { + referenced_type: "bool" + default_arg: false + } + template_info { + elements { + referenced_type: "float" + } + elements { + referenced_type: "float" + } + elements { + referenced_type: "float" + } + elements { + referenced_type: "float" } - name: "int_list_test" - access: public_access - linker_set_key: "int_list_test" } - source_file: "./input/example1.h" + linker_set_key: "_Z13castInterfaceIffffE4ListIT_ES0_IT0_EPKcb" + access: public_access +} +functions { + return_type: "void" + function_name: "format" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "_Z6formatv" + access: public_access +} +global_vars { + name: "test2::HelloAgain::hello_forever" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "_ZN5test210HelloAgain13hello_foreverE" + referenced_type: "int" + access: public_access +} +global_vars { + name: "__test_var" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "_ZL10__test_var" + referenced_type: "bool const[2]" + access: public_access +} +global_vars { + name: "test3::ByeAgain::foo_forever" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "_ZN5test38ByeAgainIfE11foo_foreverE" + referenced_type: "int" + access: public_access +} +global_vars { + name: "test3::double_bye" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "_ZN5test310double_byeE" + referenced_type: "test3::ByeAgain" + access: public_access +} +global_vars { + name: "float_list_test" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "float_list_test" + referenced_type: "List" + access: public_access +} +global_vars { + name: "int_list_test" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "int_list_test" + referenced_type: "List" + access: public_access +} +global_vars { + name: "node" + source_file: "/development/vndk/tools/header-checker/tests/input/example1.h" + linker_set_key: "node" + referenced_type: "List::_Node" + access: public_access } diff --git a/vndk/tools/header-checker/tests/expected/example2.h b/vndk/tools/header-checker/tests/expected/example2.h index 9f21b78156ef05ac891c82710c814b9b760ea135..8375c016e4abdc8ec4631565a85bfbc32715a0c1 100644 --- a/vndk/tools/header-checker/tests/expected/example2.h +++ b/vndk/tools/header-checker/tests/expected/example2.h @@ -1,74 +1,48 @@ -records { - basic_abi { - type_abi { - name: "HiddenBase" - size: 8 - alignment: 4 - } +record_types { + type_info { name: "HiddenBase" - access: public_access + size: 8 + alignment: 4 + referenced_type: "HiddenBase" + source_file: "/development/vndk/tools/header-checker/tests/input/example3.h" linker_set_key: "HiddenBase" } fields { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "hide" - access: private_access - } + referenced_type: "int" + field_offset: 0 + field_name: "hide" + access: private_access } fields { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "seek" - access: private_access - } + referenced_type: "float" + field_offset: 32 + field_name: "seek" + access: private_access } - source_file: "./input/example3.h" - mangled_record_name: "HiddenBase" + access: public_access + record_kind: class_kind } -records { - basic_abi { - type_abi { - name: "test2::HelloAgain" - size: 40 - alignment: 8 - } +record_types { + type_info { name: "test2::HelloAgain" - access: public_access + size: 40 + alignment: 8 + referenced_type: "test2::HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test2::HelloAgain" } fields { - basic_abi { - type_abi { - name: "std::vector >" - size: 24 - alignment: 8 - } - name: "foo_again" - access: public_access - } + referenced_type: "std::vector >" + field_offset: 64 + field_name: "foo_again" + access: public_access } fields { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "bar_again" - access: public_access - } + referenced_type: "int" + field_offset: 256 + field_name: "bar_again" + access: public_access } - source_file: "./input/example2.h" - mangled_record_name: "test2::HelloAgain" vtable_layout { vtable_components { kind: OffsetToTop @@ -85,468 +59,427 @@ records { mangled_component_name: "_ZN5test210HelloAgain5againEv" component_value: 0 } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN5test210HelloAgainD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN5test210HelloAgainD0Ev" + component_value: 0 + } } + access: public_access + record_kind: struct_kind } -records { - basic_abi { - type_abi { - name: "test3::ByeAgain" - size: 16 - alignment: 8 - } - name: "test3::ByeAgain" - access: public_access +record_types { + type_info { + name: "test3::ByeAgain" + size: 16 + alignment: 8 + referenced_type: "test3::ByeAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::ByeAgain" } fields { - basic_abi { - type_abi { - name: "double" - size: 8 - alignment: 8 - } - name: "foo_again" - access: public_access - } + referenced_type: "double" + field_offset: 0 + field_name: "foo_again" + access: public_access } fields { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "bar_again" - access: public_access - } + referenced_type: "int" + field_offset: 64 + field_name: "bar_again" + access: public_access } - source_file: "./input/example2.h" template_info { elements { - basic_abi { - type_abi { - name: "double" - } - linker_set_key: "double" - } + referenced_type: "double" } } - mangled_record_name: "test3::ByeAgain" + access: public_access + record_kind: struct_kind } -records { - basic_abi { - type_abi { - name: "test3::ByeAgain" - size: 8 - alignment: 4 - } - name: "test3::ByeAgain" - access: public_access +record_types { + type_info { + name: "test3::ByeAgain" + size: 8 + alignment: 4 + referenced_type: "test3::ByeAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::ByeAgain" } fields { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "foo_again" - access: public_access - } + referenced_type: "float" + field_offset: 0 + field_name: "foo_again" + access: public_access } fields { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "bar_Again" - access: public_access - } + referenced_type: "float" + field_offset: 32 + field_name: "bar_Again" + access: public_access } - source_file: "./input/example2.h" template_info { elements { - basic_abi { - type_abi { - name: "float" - } - linker_set_key: "float" - } + referenced_type: "float" } } - mangled_record_name: "test3::ByeAgain" + access: public_access + record_kind: struct_kind } -records { - basic_abi { - type_abi { - name: "test3::Outer" - size: 4 - alignment: 4 - } +record_types { + type_info { name: "test3::Outer" - access: public_access + size: 4 + alignment: 4 + referenced_type: "test3::Outer" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::Outer" } fields { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "a" - access: public_access - } + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access } - source_file: "./input/example2.h" - mangled_record_name: "test3::Outer" + access: public_access + record_kind: class_kind } -records { - basic_abi { - type_abi { - name: "test3::Outer::Inner" - size: 4 - alignment: 4 - } +record_types { + type_info { name: "test3::Outer::Inner" - access: private_access + size: 4 + alignment: 4 + referenced_type: "test3::Outer::Inner" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" linker_set_key: "test3::Outer::Inner" } fields { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "b" - access: private_access - } + referenced_type: "int" + field_offset: 0 + field_name: "b" + access: private_access + } + access: private_access + record_kind: class_kind +} +enum_types { + type_info { + name: "Foo_s" + size: 4 + alignment: 4 + referenced_type: "Foo_s" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "Foo_s" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 10 + name: "Foo_s::foosball" + } + enum_fields { + enum_field_value: 11 + name: "Foo_s::foosbat" + } + access: public_access +} +enum_types { + type_info { + name: "test3::Kind" + size: 4 + alignment: 4 + referenced_type: "test3::Kind" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test3::Kind" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 24 + name: "test3::Kind::kind1" + } + enum_fields { + enum_field_value: 2312 + name: "test3::Kind::kind2" + } + access: public_access +} +pointer_types { + type_info { + name: "test2::HelloAgain *" + size: 8 + alignment: 8 + referenced_type: "test2::HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test2::HelloAgain *" + } +} +pointer_types { + type_info { + name: "test3::ByeAgain *" + size: 8 + alignment: 8 + referenced_type: "test3::ByeAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test3::ByeAgain *" + } +} +pointer_types { + type_info { + name: "test3::ByeAgain *" + size: 8 + alignment: 8 + referenced_type: "test3::ByeAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "test3::ByeAgain *" + } +} +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: "float" + size: 4 + alignment: 4 + referenced_type: "float" + source_file: "" + linker_set_key: "float" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "bool" + size: 1 + alignment: 1 + referenced_type: "bool" + source_file: "" + linker_set_key: "bool" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "double" + size: 8 + alignment: 8 + referenced_type: "double" + source_file: "" + linker_set_key: "double" + } + is_unsigned: false + is_integral: false +} +qualified_types { + type_info { + name: "bool const[2]" + size: 2 + alignment: 1 + referenced_type: "bool [2]" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "bool const[2]" + } + is_const: true + is_volatile: false + is_restricted: false +} +array_types { + type_info { + name: "bool [2]" + size: 2 + alignment: 1 + referenced_type: "bool" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "bool [2]" } - source_file: "./input/example2.h" - mangled_record_name: "test3::Outer::Inner" } functions { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "test2::HelloAgain::again" - access: public_access - linker_set_key: "_ZN5test210HelloAgain5againEv" + return_type: "int" + function_name: "test2::HelloAgain::again" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test2::HelloAgain *" + default_arg: false } - mangled_function_name: "_ZN5test210HelloAgain5againEv" - source_file: "./input/example2.h" + linker_set_key: "_ZN5test210HelloAgain5againEv" + access: public_access } functions { - basic_abi { - type_abi { - name: "double" - size: 8 - alignment: 8 - } - name: "test3::ByeAgain::method_foo" - access: public_access - linker_set_key: "_ZN5test38ByeAgainIdE10method_fooEd" + return_type: "void" + function_name: "test2::HelloAgain::~HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test2::HelloAgain *" + default_arg: false } - mangled_function_name: "_ZN5test38ByeAgainIdE10method_fooEd" - source_file: "./input/example2.h" + linker_set_key: "_ZN5test210HelloAgainD2Ev" + access: public_access +} +functions { + return_type: "void" + function_name: "test2::HelloAgain::~HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - basic_abi { - type_abi { - name: "double" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "test2::HelloAgain *" default_arg: false } + linker_set_key: "_ZN5test210HelloAgainD1Ev" + access: public_access } functions { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "test3::ByeAgain::method_foo" - access: public_access - linker_set_key: "_ZN5test38ByeAgainIfE10method_fooEi" + return_type: "void" + function_name: "test2::HelloAgain::~HelloAgain" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test2::HelloAgain *" + default_arg: false } - mangled_function_name: "_ZN5test38ByeAgainIfE10method_fooEi" - source_file: "./input/example2.h" + linker_set_key: "_ZN5test210HelloAgainD0Ev" + access: public_access +} +functions { + return_type: "double" + function_name: "test3::ByeAgain::method_foo" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "test3::ByeAgain *" + default_arg: false + } + parameters { + referenced_type: "double" default_arg: false } + linker_set_key: "_ZN5test38ByeAgainIdE10method_fooEd" + access: public_access } functions { - basic_abi { - type_abi { - name: "bool" - size: 1 - alignment: 1 - } - name: "test3::Begin" - access: public_access - linker_set_key: "_ZN5test35BeginIfiEEbT_T0_i" + return_type: "float" + function_name: "test3::ByeAgain::method_foo" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + parameters { + referenced_type: "test3::ByeAgain *" + default_arg: false } - mangled_function_name: "_ZN5test35BeginIfiEEbT_T0_i" - source_file: "./input/example2.h" parameters { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "arg1" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } + linker_set_key: "_ZN5test38ByeAgainIfE10method_fooEi" + access: public_access +} +functions { + return_type: "bool" + function_name: "test3::Begin" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "arg2" - access: public_access - linker_set_key: "false" - } + referenced_type: "float" default_arg: false } parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "c" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" + default_arg: false + } + parameters { + referenced_type: "int" default_arg: false } template_info { elements { - basic_abi { - type_abi { - name: "float" - } - linker_set_key: "float" - } + referenced_type: "float" } elements { - basic_abi { - type_abi { - name: "int" - } - linker_set_key: "int" - } + referenced_type: "int" } } + linker_set_key: "_ZN5test35BeginIfiEEbT_T0_i" + access: public_access } functions { - basic_abi { - type_abi { - name: "bool" - size: 1 - alignment: 1 - } - name: "test3::End" - access: public_access - linker_set_key: "_ZN5test33EndEf" - } - mangled_function_name: "_ZN5test33EndEf" - source_file: "./input/example2.h" + return_type: "bool" + function_name: "test3::End" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "arg" - access: public_access - linker_set_key: "true" - } + referenced_type: "float" default_arg: true } + linker_set_key: "_ZN5test33EndEf" + access: public_access } functions { - basic_abi { - type_abi { - name: "std::vector >" - } - name: "test3::Dummy" - access: public_access - linker_set_key: "_ZN5test35DummyEi" - } - mangled_function_name: "_ZN5test35DummyEi" - source_file: "./input/example2.h" + return_type: "std::vector >" + function_name: "test3::Dummy" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "t" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } -} -enums { - basic_abi { - type_abi { - name: "unsigned int" - size: 4 - alignment: 4 - } - name: "Foo_s" - access: public_access - linker_set_key: "Foo_s" - } - enum_fields { - basic_abi { - type_abi { - name: "Foo_s" - size: 4 - alignment: 4 - } - name: "Foo_s::foosball" - access: public_access - linker_set_key: "10" - } - enum_field_value: 10 - } - enum_fields { - basic_abi { - type_abi { - name: "Foo_s" - size: 4 - alignment: 4 - } - name: "Foo_s::foosbat" - access: public_access - linker_set_key: "11" - } - enum_field_value: 11 - } - source_file: "./input/example2.h" -} -enums { - basic_abi { - type_abi { - name: "unsigned int" - size: 4 - alignment: 4 - } - name: "test3::Kind" - access: public_access - linker_set_key: "test3::Kind" - } - enum_fields { - basic_abi { - type_abi { - name: "test3::Kind" - size: 4 - alignment: 4 - } - name: "test3::Kind::kind1" - access: public_access - linker_set_key: "24" - } - enum_field_value: 24 - } - enum_fields { - basic_abi { - type_abi { - name: "test3::Kind" - size: 4 - alignment: 4 - } - name: "test3::Kind::kind2" - access: public_access - linker_set_key: "2312" - } - enum_field_value: 2312 - } - source_file: "./input/example2.h" + linker_set_key: "_ZN5test35DummyEi" + access: public_access } global_vars { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "test2::HelloAgain::hello_forever" - access: public_access - linker_set_key: "_ZN5test210HelloAgain13hello_foreverE" - } - source_file: "./input/example2.h" + name: "test2::HelloAgain::hello_forever" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "_ZN5test210HelloAgain13hello_foreverE" + referenced_type: "int" + access: public_access } global_vars { - basic_abi { - type_abi { - name: "bool const[2]" - size: 2 - alignment: 1 - } - name: "__test_var" - access: public_access - linker_set_key: "_ZL10__test_var" - } - source_file: "./input/example2.h" + name: "__test_var" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "_ZL10__test_var" + referenced_type: "bool const[2]" + access: public_access } global_vars { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "test3::ByeAgain::foo_forever" - access: public_access - linker_set_key: "_ZN5test38ByeAgainIfE11foo_foreverE" - } - source_file: "./input/example2.h" + name: "test3::ByeAgain::foo_forever" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "_ZN5test38ByeAgainIfE11foo_foreverE" + referenced_type: "int" + access: public_access } global_vars { - basic_abi { - type_abi { - name: "test3::ByeAgain" - size: 16 - alignment: 8 - } - name: "test3::double_bye" - access: public_access - linker_set_key: "_ZN5test310double_byeE" - } - source_file: "./input/example2.h" + name: "test3::double_bye" + source_file: "/development/vndk/tools/header-checker/tests/input/example2.h" + linker_set_key: "_ZN5test310double_byeE" + referenced_type: "test3::ByeAgain" + access: public_access } diff --git a/vndk/tools/header-checker/tests/expected/example3.h b/vndk/tools/header-checker/tests/expected/example3.h new file mode 100644 index 0000000000000000000000000000000000000000..9e2cc626465ce4ea633d8a1ce723e4889fd87f4e --- /dev/null +++ b/vndk/tools/header-checker/tests/expected/example3.h @@ -0,0 +1,48 @@ +record_types { + type_info { + name: "HiddenBase" + size: 8 + alignment: 4 + referenced_type: "HiddenBase" + source_file: "/development/vndk/tools/header-checker/tests/input/example3.h" + linker_set_key: "HiddenBase" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "hide" + access: private_access + } + fields { + referenced_type: "float" + field_offset: 32 + field_name: "seek" + access: private_access + } + access: public_access + record_kind: class_kind +} +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: "float" + size: 4 + alignment: 4 + referenced_type: "float" + source_file: "" + linker_set_key: "float" + } + is_unsigned: false + is_integral: false +} diff --git a/vndk/tools/header-checker/tests/expected/example4.h b/vndk/tools/header-checker/tests/expected/example4.h new file mode 100644 index 0000000000000000000000000000000000000000..6c162a58bb41ba1a1947291cf51d9c915a83f7d4 --- /dev/null +++ b/vndk/tools/header-checker/tests/expected/example4.h @@ -0,0 +1,129 @@ +record_types { + type_info { + name: "Test" + size: 16 + alignment: 8 + referenced_type: "Test" + source_file: "/development/vndk/tools/header-checker/tests/input/example4.h" + linker_set_key: "Test" + } + fields { + referenced_type: "int" + field_offset: 64 + field_name: "c" + access: private_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "Test" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN4Test3fooEv" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "TestChild" + size: 16 + alignment: 8 + referenced_type: "TestChild" + source_file: "/development/vndk/tools/header-checker/tests/input/example4.h" + linker_set_key: "TestChild" + } + fields { + referenced_type: "int" + field_offset: 96 + field_name: "d" + access: private_access + } + base_specifiers { + referenced_type: "Test" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "TestChild" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN9TestChild3fooEv" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +pointer_types { + type_info { + name: "Test *" + size: 8 + alignment: 8 + referenced_type: "Test" + source_file: "/development/vndk/tools/header-checker/tests/input/example4.h" + linker_set_key: "Test *" + } +} +pointer_types { + type_info { + name: "TestChild *" + size: 8 + alignment: 8 + referenced_type: "TestChild" + source_file: "/development/vndk/tools/header-checker/tests/input/example4.h" + linker_set_key: "TestChild *" + } +} +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 +} +functions { + return_type: "int" + function_name: "Test::foo" + source_file: "/development/vndk/tools/header-checker/tests/input/example4.h" + parameters { + referenced_type: "Test *" + default_arg: false + } + linker_set_key: "_ZN4Test3fooEv" + access: private_access +} +functions { + return_type: "int" + function_name: "TestChild::foo" + source_file: "/development/vndk/tools/header-checker/tests/input/example4.h" + parameters { + referenced_type: "TestChild *" + default_arg: false + } + linker_set_key: "_ZN9TestChild3fooEv" + access: private_access +} diff --git a/vndk/tools/header-checker/tests/expected/func_decl_no_args.h b/vndk/tools/header-checker/tests/expected/func_decl_no_args.h index b8c356f7664066a72bdd55ce0fadb46aef885f51..edfedfa677473d8278b7eac7366e368e859cea93 100644 --- a/vndk/tools/header-checker/tests/expected/func_decl_no_args.h +++ b/vndk/tools/header-checker/tests/expected/func_decl_no_args.h @@ -1,194 +1,266 @@ -functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_void" - access: public_access - linker_set_key: "test_void" +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" } - mangled_function_name: "test_void" - source_file: "./input/func_decl_no_args.h" + is_unsigned: false + is_integral: false } -functions { - basic_abi { - type_abi { - name: "char" - size: 1 - alignment: 1 - } - name: "test_char" - access: public_access - linker_set_key: "test_char" +builtin_types { + type_info { + name: "char" + size: 1 + alignment: 1 + referenced_type: "char" + source_file: "" + linker_set_key: "char" } - mangled_function_name: "test_char" - source_file: "./input/func_decl_no_args.h" + is_unsigned: false + is_integral: true } -functions { - basic_abi { - type_abi { - name: "short" - size: 2 - alignment: 2 - } - name: "test_short" - access: public_access - linker_set_key: "test_short" +builtin_types { + type_info { + name: "short" + size: 2 + alignment: 2 + referenced_type: "short" + source_file: "" + linker_set_key: "short" } - mangled_function_name: "test_short" - source_file: "./input/func_decl_no_args.h" + is_unsigned: false + is_integral: true } -functions { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "test_int" - access: public_access - linker_set_key: "test_int" +builtin_types { + type_info { + name: "int" + size: 4 + alignment: 4 + referenced_type: "int" + source_file: "" + linker_set_key: "int" } - mangled_function_name: "test_int" - source_file: "./input/func_decl_no_args.h" + is_unsigned: false + is_integral: true } -functions { - basic_abi { - type_abi { - name: "long" - size: 8 - alignment: 8 - } - name: "test_long" - access: public_access - linker_set_key: "test_long" +builtin_types { + type_info { + name: "long" + size: 8 + alignment: 8 + referenced_type: "long" + source_file: "" + linker_set_key: "long" } - mangled_function_name: "test_long" - source_file: "./input/func_decl_no_args.h" + is_unsigned: false + is_integral: true } -functions { - basic_abi { - type_abi { - name: "long long" - size: 8 - alignment: 8 - } - name: "test_long_long" - access: public_access - linker_set_key: "test_long_long" +builtin_types { + type_info { + name: "long long" + size: 8 + alignment: 8 + referenced_type: "long long" + source_file: "" + linker_set_key: "long long" } - mangled_function_name: "test_long_long" - source_file: "./input/func_decl_no_args.h" + is_unsigned: false + is_integral: true } -functions { - basic_abi { - type_abi { - name: "unsigned char" - size: 1 - alignment: 1 - } - name: "test_unsigned_char" - access: public_access - linker_set_key: "test_unsigned_char" +builtin_types { + type_info { + name: "unsigned char" + size: 1 + alignment: 1 + referenced_type: "unsigned char" + source_file: "" + linker_set_key: "unsigned char" } - mangled_function_name: "test_unsigned_char" - source_file: "./input/func_decl_no_args.h" + is_unsigned: true + is_integral: true } -functions { - basic_abi { - type_abi { - name: "unsigned short" - size: 2 - alignment: 2 - } - name: "test_unsigned_short" - access: public_access - linker_set_key: "test_unsigned_short" +builtin_types { + type_info { + name: "unsigned short" + size: 2 + alignment: 2 + referenced_type: "unsigned short" + source_file: "" + linker_set_key: "unsigned short" } - mangled_function_name: "test_unsigned_short" - source_file: "./input/func_decl_no_args.h" + is_unsigned: true + is_integral: true } -functions { - basic_abi { - type_abi { - name: "unsigned int" - size: 4 - alignment: 4 - } - name: "test_unsigned_int" - access: public_access - linker_set_key: "test_unsigned_int" +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" } - mangled_function_name: "test_unsigned_int" - source_file: "./input/func_decl_no_args.h" + is_unsigned: true + is_integral: true } -functions { - basic_abi { - type_abi { - name: "unsigned long" - size: 8 - alignment: 8 - } - name: "test_unsigned_long" - access: public_access - linker_set_key: "test_unsigned_long" +builtin_types { + type_info { + name: "unsigned long" + size: 8 + alignment: 8 + referenced_type: "unsigned long" + source_file: "" + linker_set_key: "unsigned long" } - mangled_function_name: "test_unsigned_long" - source_file: "./input/func_decl_no_args.h" + is_unsigned: true + is_integral: true } -functions { - basic_abi { - type_abi { - name: "unsigned long long" - size: 8 - alignment: 8 - } - name: "test_unsigned_long_long" - access: public_access - linker_set_key: "test_unsigned_long_long" +builtin_types { + type_info { + name: "unsigned long long" + size: 8 + alignment: 8 + referenced_type: "unsigned long long" + source_file: "" + linker_set_key: "unsigned long long" } - mangled_function_name: "test_unsigned_long_long" - source_file: "./input/func_decl_no_args.h" + is_unsigned: true + is_integral: true } -functions { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "test_float" - access: public_access - linker_set_key: "test_float" +builtin_types { + type_info { + name: "float" + size: 4 + alignment: 4 + referenced_type: "float" + source_file: "" + linker_set_key: "float" } - mangled_function_name: "test_float" - source_file: "./input/func_decl_no_args.h" + is_unsigned: false + is_integral: false } -functions { - basic_abi { - type_abi { - name: "double" - size: 8 - alignment: 8 - } - name: "test_double" - access: public_access - linker_set_key: "test_double" +builtin_types { + type_info { + name: "double" + size: 8 + alignment: 8 + referenced_type: "double" + source_file: "" + linker_set_key: "double" } - mangled_function_name: "test_double" - source_file: "./input/func_decl_no_args.h" + is_unsigned: false + is_integral: false } -functions { - basic_abi { - type_abi { - name: "long double" - size: 16 - alignment: 16 - } - name: "test_long_double" - access: public_access - linker_set_key: "test_long_double" +builtin_types { + type_info { + name: "long double" + size: 16 + alignment: 16 + referenced_type: "long double" + source_file: "" + linker_set_key: "long double" } - mangled_function_name: "test_long_double" - source_file: "./input/func_decl_no_args.h" + is_unsigned: false + is_integral: false +} +functions { + return_type: "void" + function_name: "test_void" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" + linker_set_key: "test_void" + access: public_access +} +functions { + return_type: "char" + function_name: "test_char" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" + linker_set_key: "test_char" + access: public_access +} +functions { + return_type: "short" + function_name: "test_short" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" + linker_set_key: "test_short" + access: public_access +} +functions { + return_type: "int" + function_name: "test_int" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" + linker_set_key: "test_int" + access: public_access +} +functions { + return_type: "long" + function_name: "test_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" + linker_set_key: "test_long" + access: public_access +} +functions { + return_type: "long long" + function_name: "test_long_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" + linker_set_key: "test_long_long" + access: public_access +} +functions { + return_type: "unsigned char" + function_name: "test_unsigned_char" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" + linker_set_key: "test_unsigned_char" + access: public_access +} +functions { + return_type: "unsigned short" + function_name: "test_unsigned_short" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" + linker_set_key: "test_unsigned_short" + access: public_access +} +functions { + return_type: "unsigned int" + function_name: "test_unsigned_int" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" + linker_set_key: "test_unsigned_int" + access: public_access +} +functions { + return_type: "unsigned long" + function_name: "test_unsigned_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" + linker_set_key: "test_unsigned_long" + access: public_access +} +functions { + return_type: "unsigned long long" + function_name: "test_unsigned_long_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" + linker_set_key: "test_unsigned_long_long" + access: public_access +} +functions { + return_type: "float" + function_name: "test_float" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" + linker_set_key: "test_float" + access: public_access +} +functions { + return_type: "double" + function_name: "test_double" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" + linker_set_key: "test_double" + access: public_access +} +functions { + return_type: "long double" + function_name: "test_long_double" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_no_args.h" + linker_set_key: "test_long_double" + access: public_access } diff --git a/vndk/tools/header-checker/tests/expected/func_decl_one_arg.h b/vndk/tools/header-checker/tests/expected/func_decl_one_arg.h index 400f6b56dcbbd537b55f88d52a257fcae7e441be..49529d8e70f3d09b97518d5f013ab747eb91b791 100644 --- a/vndk/tools/header-checker/tests/expected/func_decl_one_arg.h +++ b/vndk/tools/header-checker/tests/expected/func_decl_one_arg.h @@ -1,325 +1,311 @@ -functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_char" - access: public_access - linker_set_key: "test_char" +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "char" + size: 1 + alignment: 1 + referenced_type: "char" + source_file: "" + linker_set_key: "char" + } + is_unsigned: false + is_integral: true +} +builtin_types { + type_info { + name: "short" + size: 2 + alignment: 2 + referenced_type: "short" + source_file: "" + linker_set_key: "short" + } + is_unsigned: false + is_integral: true +} +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: "long" + size: 8 + alignment: 8 + referenced_type: "long" + source_file: "" + linker_set_key: "long" + } + is_unsigned: false + is_integral: true +} +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 char" + size: 1 + alignment: 1 + referenced_type: "unsigned char" + source_file: "" + linker_set_key: "unsigned char" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "unsigned short" + size: 2 + alignment: 2 + referenced_type: "unsigned short" + source_file: "" + linker_set_key: "unsigned short" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "unsigned long" + size: 8 + alignment: 8 + referenced_type: "unsigned long" + source_file: "" + linker_set_key: "unsigned long" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "unsigned long long" + size: 8 + alignment: 8 + referenced_type: "unsigned long long" + source_file: "" + linker_set_key: "unsigned long long" } - mangled_function_name: "test_char" - source_file: "./input/func_decl_one_arg.h" + 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 { + name: "double" + size: 8 + alignment: 8 + referenced_type: "double" + source_file: "" + linker_set_key: "double" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "long double" + size: 16 + alignment: 16 + referenced_type: "long double" + source_file: "" + linker_set_key: "long double" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "void" + function_name: "test_char" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" parameters { - basic_abi { - type_abi { - name: "char" - size: 1 - alignment: 1 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "char" default_arg: false } + linker_set_key: "test_char" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_short" - access: public_access - linker_set_key: "test_short" - } - mangled_function_name: "test_short" - source_file: "./input/func_decl_one_arg.h" + return_type: "void" + function_name: "test_short" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" parameters { - basic_abi { - type_abi { - name: "short" - size: 2 - alignment: 2 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "short" default_arg: false } + linker_set_key: "test_short" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_int" - access: public_access - linker_set_key: "test_int" - } - mangled_function_name: "test_int" - source_file: "./input/func_decl_one_arg.h" + return_type: "void" + function_name: "test_int" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } + linker_set_key: "test_int" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_long" - access: public_access - linker_set_key: "test_long" - } - mangled_function_name: "test_long" - source_file: "./input/func_decl_one_arg.h" + return_type: "void" + function_name: "test_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" parameters { - basic_abi { - type_abi { - name: "long" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "long" default_arg: false } + linker_set_key: "test_long" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_long_long" - access: public_access - linker_set_key: "test_long_long" - } - mangled_function_name: "test_long_long" - source_file: "./input/func_decl_one_arg.h" + return_type: "void" + function_name: "test_long_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" parameters { - basic_abi { - type_abi { - name: "long long" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "long long" default_arg: false } + linker_set_key: "test_long_long" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_unsigned_char" - access: public_access - linker_set_key: "test_unsigned_char" - } - mangled_function_name: "test_unsigned_char" - source_file: "./input/func_decl_one_arg.h" + return_type: "void" + function_name: "test_unsigned_char" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" parameters { - basic_abi { - type_abi { - name: "unsigned char" - size: 1 - alignment: 1 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned char" default_arg: false } + linker_set_key: "test_unsigned_char" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_unsigned_short" - access: public_access - linker_set_key: "test_unsigned_short" - } - mangled_function_name: "test_unsigned_short" - source_file: "./input/func_decl_one_arg.h" + return_type: "void" + function_name: "test_unsigned_short" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" parameters { - basic_abi { - type_abi { - name: "unsigned short" - size: 2 - alignment: 2 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned short" default_arg: false } + linker_set_key: "test_unsigned_short" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_unsigned_int" - access: public_access - linker_set_key: "test_unsigned_int" - } - mangled_function_name: "test_unsigned_int" - source_file: "./input/func_decl_one_arg.h" + return_type: "void" + function_name: "test_unsigned_int" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" parameters { - basic_abi { - type_abi { - name: "unsigned int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned int" default_arg: false } + linker_set_key: "test_unsigned_int" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_unsigned_long" - access: public_access - linker_set_key: "test_unsigned_long" - } - mangled_function_name: "test_unsigned_long" - source_file: "./input/func_decl_one_arg.h" + return_type: "void" + function_name: "test_unsigned_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" parameters { - basic_abi { - type_abi { - name: "unsigned long" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned long" default_arg: false } + linker_set_key: "test_unsigned_long" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_unsigned_long_long" - access: public_access - linker_set_key: "test_unsigned_long_long" - } - mangled_function_name: "test_unsigned_long_long" - source_file: "./input/func_decl_one_arg.h" + return_type: "void" + function_name: "test_unsigned_long_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" parameters { - basic_abi { - type_abi { - name: "unsigned long long" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned long long" default_arg: false } + linker_set_key: "test_unsigned_long_long" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_float" - access: public_access - linker_set_key: "test_float" - } - mangled_function_name: "test_float" - source_file: "./input/func_decl_one_arg.h" + return_type: "void" + function_name: "test_float" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" parameters { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "float" default_arg: false } + linker_set_key: "test_float" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_double" - access: public_access - linker_set_key: "test_double" - } - mangled_function_name: "test_double" - source_file: "./input/func_decl_one_arg.h" + return_type: "void" + function_name: "test_double" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" parameters { - basic_abi { - type_abi { - name: "double" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "double" default_arg: false } + linker_set_key: "test_double" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_long_double" - access: public_access - linker_set_key: "test_long_double" - } - mangled_function_name: "test_long_double" - source_file: "./input/func_decl_one_arg.h" + return_type: "void" + function_name: "test_long_double" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg.h" parameters { - basic_abi { - type_abi { - name: "long double" - size: 16 - alignment: 16 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "long double" default_arg: false } + linker_set_key: "test_long_double" + access: public_access } diff --git a/vndk/tools/header-checker/tests/expected/func_decl_one_arg_ret.h b/vndk/tools/header-checker/tests/expected/func_decl_one_arg_ret.h index f6e474f8ffac82694d9f1361dc51e5c4a8bb8d84..d4e3d8e134eac83e22c2d1ae46ecd71c58c8262b 100644 --- a/vndk/tools/header-checker/tests/expected/func_decl_one_arg_ret.h +++ b/vndk/tools/header-checker/tests/expected/func_decl_one_arg_ret.h @@ -1,351 +1,299 @@ -functions { - basic_abi { - type_abi { - name: "char" - size: 1 - alignment: 1 - } - name: "test_char" - access: public_access - linker_set_key: "test_char" +builtin_types { + type_info { + name: "char" + size: 1 + alignment: 1 + referenced_type: "char" + source_file: "" + linker_set_key: "char" + } + is_unsigned: false + is_integral: true +} +builtin_types { + type_info { + name: "short" + size: 2 + alignment: 2 + referenced_type: "short" + source_file: "" + linker_set_key: "short" + } + is_unsigned: false + is_integral: true +} +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: "long" + size: 8 + alignment: 8 + referenced_type: "long" + source_file: "" + linker_set_key: "long" + } + is_unsigned: false + is_integral: true +} +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 char" + size: 1 + alignment: 1 + referenced_type: "unsigned char" + source_file: "" + linker_set_key: "unsigned char" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "unsigned short" + size: 2 + alignment: 2 + referenced_type: "unsigned short" + source_file: "" + linker_set_key: "unsigned short" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" } - mangled_function_name: "test_char" - source_file: "./input/func_decl_one_arg_ret.h" + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "unsigned long" + size: 8 + alignment: 8 + referenced_type: "unsigned long" + source_file: "" + linker_set_key: "unsigned long" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "unsigned long long" + size: 8 + alignment: 8 + referenced_type: "unsigned long long" + source_file: "" + linker_set_key: "unsigned long long" + } + 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 { + name: "double" + size: 8 + alignment: 8 + referenced_type: "double" + source_file: "" + linker_set_key: "double" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "long double" + size: 16 + alignment: 16 + referenced_type: "long double" + source_file: "" + linker_set_key: "long double" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "char" + function_name: "test_char" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" parameters { - basic_abi { - type_abi { - name: "char" - size: 1 - alignment: 1 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "char" default_arg: false } + linker_set_key: "test_char" + access: public_access } functions { - basic_abi { - type_abi { - name: "short" - size: 2 - alignment: 2 - } - name: "test_short" - access: public_access - linker_set_key: "test_short" - } - mangled_function_name: "test_short" - source_file: "./input/func_decl_one_arg_ret.h" + return_type: "short" + function_name: "test_short" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" parameters { - basic_abi { - type_abi { - name: "short" - size: 2 - alignment: 2 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "short" default_arg: false } + linker_set_key: "test_short" + access: public_access } functions { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "test_int" - access: public_access - linker_set_key: "test_int" - } - mangled_function_name: "test_int" - source_file: "./input/func_decl_one_arg_ret.h" + return_type: "int" + function_name: "test_int" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } + linker_set_key: "test_int" + access: public_access } functions { - basic_abi { - type_abi { - name: "long" - size: 8 - alignment: 8 - } - name: "test_long" - access: public_access - linker_set_key: "test_long" - } - mangled_function_name: "test_long" - source_file: "./input/func_decl_one_arg_ret.h" + return_type: "long" + function_name: "test_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" parameters { - basic_abi { - type_abi { - name: "long" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "long" default_arg: false } + linker_set_key: "test_long" + access: public_access } functions { - basic_abi { - type_abi { - name: "long long" - size: 8 - alignment: 8 - } - name: "test_long_long" - access: public_access - linker_set_key: "test_long_long" - } - mangled_function_name: "test_long_long" - source_file: "./input/func_decl_one_arg_ret.h" + return_type: "long long" + function_name: "test_long_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" parameters { - basic_abi { - type_abi { - name: "long long" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "long long" default_arg: false } + linker_set_key: "test_long_long" + access: public_access } functions { - basic_abi { - type_abi { - name: "unsigned char" - size: 1 - alignment: 1 - } - name: "test_unsigned_char" - access: public_access - linker_set_key: "test_unsigned_char" - } - mangled_function_name: "test_unsigned_char" - source_file: "./input/func_decl_one_arg_ret.h" + return_type: "unsigned char" + function_name: "test_unsigned_char" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" parameters { - basic_abi { - type_abi { - name: "unsigned char" - size: 1 - alignment: 1 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned char" default_arg: false } + linker_set_key: "test_unsigned_char" + access: public_access } functions { - basic_abi { - type_abi { - name: "unsigned short" - size: 2 - alignment: 2 - } - name: "test_unsigned_short" - access: public_access - linker_set_key: "test_unsigned_short" - } - mangled_function_name: "test_unsigned_short" - source_file: "./input/func_decl_one_arg_ret.h" + return_type: "unsigned short" + function_name: "test_unsigned_short" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" parameters { - basic_abi { - type_abi { - name: "unsigned short" - size: 2 - alignment: 2 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned short" default_arg: false } + linker_set_key: "test_unsigned_short" + access: public_access } functions { - basic_abi { - type_abi { - name: "unsigned int" - size: 4 - alignment: 4 - } - name: "test_unsigned_int" - access: public_access - linker_set_key: "test_unsigned_int" - } - mangled_function_name: "test_unsigned_int" - source_file: "./input/func_decl_one_arg_ret.h" + return_type: "unsigned int" + function_name: "test_unsigned_int" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" parameters { - basic_abi { - type_abi { - name: "unsigned int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned int" default_arg: false } + linker_set_key: "test_unsigned_int" + access: public_access } functions { - basic_abi { - type_abi { - name: "unsigned long" - size: 8 - alignment: 8 - } - name: "test_unsigned_long" - access: public_access - linker_set_key: "test_unsigned_long" - } - mangled_function_name: "test_unsigned_long" - source_file: "./input/func_decl_one_arg_ret.h" + return_type: "unsigned long" + function_name: "test_unsigned_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" parameters { - basic_abi { - type_abi { - name: "unsigned long" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned long" default_arg: false } + linker_set_key: "test_unsigned_long" + access: public_access } functions { - basic_abi { - type_abi { - name: "unsigned long long" - size: 8 - alignment: 8 - } - name: "test_unsigned_long_long" - access: public_access - linker_set_key: "test_unsigned_long_long" - } - mangled_function_name: "test_unsigned_long_long" - source_file: "./input/func_decl_one_arg_ret.h" + return_type: "unsigned long long" + function_name: "test_unsigned_long_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" parameters { - basic_abi { - type_abi { - name: "unsigned long long" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned long long" default_arg: false } + linker_set_key: "test_unsigned_long_long" + access: public_access } functions { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "test_float" - access: public_access - linker_set_key: "test_float" - } - mangled_function_name: "test_float" - source_file: "./input/func_decl_one_arg_ret.h" + return_type: "float" + function_name: "test_float" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" parameters { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "float" default_arg: false } + linker_set_key: "test_float" + access: public_access } functions { - basic_abi { - type_abi { - name: "double" - size: 8 - alignment: 8 - } - name: "test_double" - access: public_access - linker_set_key: "test_double" - } - mangled_function_name: "test_double" - source_file: "./input/func_decl_one_arg_ret.h" + return_type: "double" + function_name: "test_double" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" parameters { - basic_abi { - type_abi { - name: "double" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "double" default_arg: false } + linker_set_key: "test_double" + access: public_access } functions { - basic_abi { - type_abi { - name: "long double" - size: 16 - alignment: 16 - } - name: "test_long_double" - access: public_access - linker_set_key: "test_long_double" - } - mangled_function_name: "test_long_double" - source_file: "./input/func_decl_one_arg_ret.h" + return_type: "long double" + function_name: "test_long_double" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_one_arg_ret.h" parameters { - basic_abi { - type_abi { - name: "long double" - size: 16 - alignment: 16 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "long double" default_arg: false } + linker_set_key: "test_long_double" + access: public_access } diff --git a/vndk/tools/header-checker/tests/expected/func_decl_two_args.h b/vndk/tools/header-checker/tests/expected/func_decl_two_args.h index 6d0a21e9a9f891a1d5ed48742f7d2c8171d6a2bf..fa49a4a8afd0fb4eddb0fca1e15a0dc18425b6db 100644 --- a/vndk/tools/header-checker/tests/expected/func_decl_two_args.h +++ b/vndk/tools/header-checker/tests/expected/func_decl_two_args.h @@ -1,494 +1,363 @@ +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +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: "char" + size: 1 + alignment: 1 + referenced_type: "char" + source_file: "" + linker_set_key: "char" + } + is_unsigned: false + is_integral: true +} +builtin_types { + type_info { + name: "short" + size: 2 + alignment: 2 + referenced_type: "short" + source_file: "" + linker_set_key: "short" + } + is_unsigned: false + is_integral: true +} +builtin_types { + type_info { + name: "long" + size: 8 + alignment: 8 + referenced_type: "long" + source_file: "" + linker_set_key: "long" + } + is_unsigned: false + is_integral: true +} +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 char" + size: 1 + alignment: 1 + referenced_type: "unsigned char" + source_file: "" + linker_set_key: "unsigned char" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "unsigned short" + size: 2 + alignment: 2 + referenced_type: "unsigned short" + source_file: "" + linker_set_key: "unsigned short" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "unsigned long" + size: 8 + alignment: 8 + referenced_type: "unsigned long" + source_file: "" + linker_set_key: "unsigned long" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "unsigned long long" + size: 8 + alignment: 8 + referenced_type: "unsigned long long" + source_file: "" + linker_set_key: "unsigned long long" + } + 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 { + name: "double" + size: 8 + alignment: 8 + referenced_type: "double" + source_file: "" + linker_set_key: "double" + } + is_unsigned: false + is_integral: false +} +builtin_types { + type_info { + name: "long double" + size: 16 + alignment: 16 + referenced_type: "long double" + source_file: "" + linker_set_key: "long double" + } + is_unsigned: false + is_integral: false +} functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_char" - access: public_access - linker_set_key: "test_char" - } - mangled_function_name: "test_char" - source_file: "./input/func_decl_two_args.h" + return_type: "void" + function_name: "test_char" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } parameters { - basic_abi { - type_abi { - name: "char" - size: 1 - alignment: 1 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "char" default_arg: false } + linker_set_key: "test_char" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_short" - access: public_access - linker_set_key: "test_short" - } - mangled_function_name: "test_short" - source_file: "./input/func_decl_two_args.h" + return_type: "void" + function_name: "test_short" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } parameters { - basic_abi { - type_abi { - name: "short" - size: 2 - alignment: 2 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "short" default_arg: false } + linker_set_key: "test_short" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_int" - access: public_access - linker_set_key: "test_int" - } - mangled_function_name: "test_int" - source_file: "./input/func_decl_two_args.h" + return_type: "void" + function_name: "test_int" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } + linker_set_key: "test_int" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_long" - access: public_access - linker_set_key: "test_long" - } - mangled_function_name: "test_long" - source_file: "./input/func_decl_two_args.h" + return_type: "void" + function_name: "test_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } parameters { - basic_abi { - type_abi { - name: "long" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "long" default_arg: false } + linker_set_key: "test_long" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_long_long" - access: public_access - linker_set_key: "test_long_long" - } - mangled_function_name: "test_long_long" - source_file: "./input/func_decl_two_args.h" + return_type: "void" + function_name: "test_long_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } parameters { - basic_abi { - type_abi { - name: "long long" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "long long" default_arg: false } + linker_set_key: "test_long_long" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_unsigned_char" - access: public_access - linker_set_key: "test_unsigned_char" - } - mangled_function_name: "test_unsigned_char" - source_file: "./input/func_decl_two_args.h" + return_type: "void" + function_name: "test_unsigned_char" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } parameters { - basic_abi { - type_abi { - name: "unsigned char" - size: 1 - alignment: 1 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned char" default_arg: false } + linker_set_key: "test_unsigned_char" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_unsigned_short" - access: public_access - linker_set_key: "test_unsigned_short" - } - mangled_function_name: "test_unsigned_short" - source_file: "./input/func_decl_two_args.h" + return_type: "void" + function_name: "test_unsigned_short" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } parameters { - basic_abi { - type_abi { - name: "unsigned short" - size: 2 - alignment: 2 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned short" default_arg: false } + linker_set_key: "test_unsigned_short" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_unsigned_int" - access: public_access - linker_set_key: "test_unsigned_int" - } - mangled_function_name: "test_unsigned_int" - source_file: "./input/func_decl_two_args.h" + return_type: "void" + function_name: "test_unsigned_int" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } parameters { - basic_abi { - type_abi { - name: "unsigned int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned int" default_arg: false } + linker_set_key: "test_unsigned_int" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_unsigned_long" - access: public_access - linker_set_key: "test_unsigned_long" - } - mangled_function_name: "test_unsigned_long" - source_file: "./input/func_decl_two_args.h" + return_type: "void" + function_name: "test_unsigned_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } parameters { - basic_abi { - type_abi { - name: "unsigned long" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned long" default_arg: false } + linker_set_key: "test_unsigned_long" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_unsigned_long_long" - access: public_access - linker_set_key: "test_unsigned_long_long" - } - mangled_function_name: "test_unsigned_long_long" - source_file: "./input/func_decl_two_args.h" + return_type: "void" + function_name: "test_unsigned_long_long" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } parameters { - basic_abi { - type_abi { - name: "unsigned long long" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "unsigned long long" default_arg: false } + linker_set_key: "test_unsigned_long_long" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_unsigned_float" - access: public_access - linker_set_key: "test_unsigned_float" - } - mangled_function_name: "test_unsigned_float" - source_file: "./input/func_decl_two_args.h" + return_type: "void" + function_name: "test_unsigned_float" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } parameters { - basic_abi { - type_abi { - name: "float" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "float" default_arg: false } + linker_set_key: "test_unsigned_float" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_unsigned_double" - access: public_access - linker_set_key: "test_unsigned_double" - } - mangled_function_name: "test_unsigned_double" - source_file: "./input/func_decl_two_args.h" + return_type: "void" + function_name: "test_unsigned_double" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } parameters { - basic_abi { - type_abi { - name: "double" - size: 8 - alignment: 8 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "double" default_arg: false } + linker_set_key: "test_unsigned_double" + access: public_access } functions { - basic_abi { - type_abi { - name: "void" - } - name: "test_unsigned_long_double" - access: public_access - linker_set_key: "test_unsigned_long_double" - } - mangled_function_name: "test_unsigned_long_double" - source_file: "./input/func_decl_two_args.h" + return_type: "void" + function_name: "test_unsigned_long_double" + source_file: "/development/vndk/tools/header-checker/tests/input/func_decl_two_args.h" parameters { - basic_abi { - type_abi { - name: "int" - size: 4 - alignment: 4 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "int" default_arg: false } parameters { - basic_abi { - type_abi { - name: "long double" - size: 16 - alignment: 16 - } - name: "" - access: public_access - linker_set_key: "false" - } + referenced_type: "long double" default_arg: false } + linker_set_key: "test_unsigned_long_double" + access: public_access } diff --git a/vndk/tools/header-checker/tests/gen_all.py b/vndk/tools/header-checker/tests/gen_all.py index 672c3b1d0ef2c8bcbb5a22a9c034bd195cab1a14..7adf03b594ddf885c3f0f7b97711212e6a412bf5 100755 --- a/vndk/tools/header-checker/tests/gen_all.py +++ b/vndk/tools/header-checker/tests/gen_all.py @@ -4,22 +4,33 @@ import os import re import sys -from utils import run_header_checker +import_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) +import_path = os.path.abspath(os.path.join(import_path, 'utils')) +sys.path.insert(1, import_path) + +from utils import run_header_abi_dumper +from utils import copy_reference_dump_content +from module import Module SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__)) INPUT_DIR = os.path.join(SCRIPT_DIR, 'input') EXPECTED_DIR = os.path.join(SCRIPT_DIR, 'expected') +REFERENCE_DUMP_DIR = os.path.join(SCRIPT_DIR, 'reference_dumps') DEFAULT_CFLAGS = ['-x', 'c++', '-std=c++11'] FILE_EXTENSIONS = ['h', 'hpp', 'hxx', 'cpp', 'cc', 'c'] +def make_and_copy_reference_dumps(module, default_cflags): + lsdump_content = module.make_lsdump(default_cflags) + copy_reference_dump_content(module.get_name(), lsdump_content, + REFERENCE_DUMP_DIR, '', module.get_arch()) + def main(): patt = re.compile( '^.*\\.(?:' + \ '|'.join('(?:' + re.escape(ext) + ')' for ext in FILE_EXTENSIONS) + \ ')$') - input_dir_prefix_len = len(INPUT_DIR) + 1 for base, dirnames, filenames in os.walk(INPUT_DIR): for filename in filenames: @@ -32,11 +43,16 @@ def main(): output_path = os.path.join(EXPECTED_DIR, input_rel_path) print('generating', output_path, '...') - output_content = run_header_checker(input_path, DEFAULT_CFLAGS) + output_content = run_header_abi_dumper(input_path, True, + DEFAULT_CFLAGS) os.makedirs(os.path.dirname(output_path), exist_ok=True) with open(output_path, 'w') as f: f.write(output_content) + modules = Module.get_test_modules() + for module in modules: + make_and_copy_reference_dumps(module, DEFAULT_CFLAGS) + return 0 if __name__ == '__main__': diff --git a/vndk/tools/header-checker/tests/gen_expected_output.py b/vndk/tools/header-checker/tests/gen_expected_output.py index 9a203c9dc488ed51f367c3b57d930d4e1f2a97e9..f28518365dd07b0fb2154f7e4f9dbdc290814382 100755 --- a/vndk/tools/header-checker/tests/gen_expected_output.py +++ b/vndk/tools/header-checker/tests/gen_expected_output.py @@ -1,10 +1,10 @@ #!/usr/bin/env python3 import sys -from utils import run_header_checker +from utils import run_header_abi_dumper def main(): - sys.stdout.write(run_header_checker(sys.argv[1], sys.argv[2:])) + sys.stdout.write(run_header_abi_dumper(sys.argv[1], True, sys.argv[2:])) return 0 if __name__ == '__main__': diff --git a/vndk/tools/header-checker/tests/input/example1.h b/vndk/tools/header-checker/tests/input/example1.h index 1ff0c1cc417538d118b7505b107ff0db58be5c52..08c38699312207014db691026d4f16c14f6cff6e 100644 --- a/vndk/tools/header-checker/tests/input/example1.h +++ b/vndk/tools/header-checker/tests/input/example1.h @@ -13,6 +13,7 @@ int uses_forward_decl(struct ForwardDeclaration *); struct Hello { int foo; int bar; + wchar_t d; enum {A, B} enum_field; enum {C, D} enum_field2; struct { diff --git a/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h b/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h new file mode 100644 index 0000000000000000000000000000000000000000..e852a4eda71704cef5104e2a5cc0bf5a583be13a --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h @@ -0,0 +1,16 @@ +#if INCLUDE_UNUSED_STRUCTS +struct UnusedStruct { + int mUnusedMember; +}; +#endif + +class Foo { + public: + Foo(int *a, int *b) : a_(a), b_(b) { } + private: + int *a_; + int *b_; +}; + +Foo foo(int *a, int *b); + diff --git a/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h b/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h new file mode 100644 index 0000000000000000000000000000000000000000..42fc6e07e06635f0fcd5fbb9f568ca042bab7788 --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h @@ -0,0 +1,18 @@ +#if defined(__cplusplus) +extern "C" { +#endif + +struct Cinner { + int c; +}; + +struct Cstruct { + int a; + struct Cinner *b; +}; + +void CFunction(struct Cstruct **cstruct); + +#if defined(__cplusplus) +} +#endif diff --git a/vndk/tools/header-checker/tests/integration/c_and_cpp/map.txt b/vndk/tools/header-checker/tests/integration/c_and_cpp/map.txt new file mode 100644 index 0000000000000000000000000000000000000000..aff0667cac7fab594bb0f96326ece00f43cee101 --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/c_and_cpp/map.txt @@ -0,0 +1,5 @@ +libc_and_cpp { + global: + CFunction; + _Z3fooPiS_; +}; diff --git a/vndk/tools/header-checker/tests/integration/c_and_cpp/source1.cpp b/vndk/tools/header-checker/tests/integration/c_and_cpp/source1.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8fa67007e1b5157ed4e7f5524af9f20ff88116ea --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/c_and_cpp/source1.cpp @@ -0,0 +1,6 @@ +#include + +Foo foo(int *a, int *b) { + // This does not make sense + return Foo(a, b); +} diff --git a/vndk/tools/header-checker/tests/integration/c_and_cpp/source2.c b/vndk/tools/header-checker/tests/integration/c_and_cpp/source2.c new file mode 100644 index 0000000000000000000000000000000000000000..d3f089945576e749cc789f56ba75b1b87281b4ff --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/c_and_cpp/source2.c @@ -0,0 +1,8 @@ +#include + +void CFunction(struct Cstruct **cstruct) { + if (cstruct) { + struct Cstruct *next = *cstruct++; + next--; + } +} diff --git a/vndk/tools/header-checker/tests/integration/cpp/gold/golden_1.cpp b/vndk/tools/header-checker/tests/integration/cpp/gold/golden_1.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e98d21d9c0ca2cc9161c4f548464cbdac1897d2c --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/cpp/gold/golden_1.cpp @@ -0,0 +1,17 @@ +#include + +SuperSpeaker *SuperSpeaker::CreateSuperSpeaker(int id) { + // :) + return nullptr; +} + +void SuperSpeaker::SpeakLouder() { +} + +SuperSpeaker::Volume SuperSpeaker::SpeakLoud() { + return SuperSpeaker::Volume::Loud; +} + +void test_virtual_function_call(SuperSpeaker *super_speaker) { + super_speaker->Speak(); +} diff --git a/vndk/tools/header-checker/tests/integration/cpp/gold/high_volume_speaker.cpp b/vndk/tools/header-checker/tests/integration/cpp/gold/high_volume_speaker.cpp new file mode 100644 index 0000000000000000000000000000000000000000..57a7e9bc1172aee9b7aac8a07561aea5b637749d --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/cpp/gold/high_volume_speaker.cpp @@ -0,0 +1,20 @@ +#include + +void HighVolumeSpeaker::Speak() { } + +HighVolumeSpeaker *HighVolumeSpeaker::BadPractice(BP_PARAMETER_TYPE id) { + return nullptr; +} + +LISTEN_RETURN_TYPE HighVolumeSpeaker::Listen() { LISTEN_RETURN_STATEMENT } + +#if GOLDEN_ADD_FUNCTION +int HighVolumeSpeaker::AddedFunction() { + return 0; +} +#endif + +#if GOLDEN_ADD_GLOBVAR +int HighVolumeSpeaker::global_unprotected_id = 0; +#endif + diff --git a/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h b/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h new file mode 100644 index 0000000000000000000000000000000000000000..06c2da804f14ccea3875c893c668f6e84455638f --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h @@ -0,0 +1,59 @@ +#if GOLDEN_RETURN_TYPE_DIFF +#define LISTEN_RETURN_TYPE \ + int +#define LISTEN_RETURN_STATEMENT \ + return 0; +#else +#define LISTEN_RETURN_TYPE \ + void +#define LISTEN_RETURN_STATEMENT \ + return; +#endif + +#if GOLDEN_VTABLE_DIFF +#define VIRTUAL_FUNCTIONS \ + virtual LISTEN_RETURN_TYPE Listen() = 0; \ + virtual void Speak() = 0; \ + static void SpeakLouder(); +#else +#define VIRTUAL_FUNCTIONS \ + virtual void Speak() = 0; \ + virtual LISTEN_RETURN_TYPE Listen() = 0; \ + void SpeakLouder(); +#endif + +#if GOLDEN_ENUM_EXTENSION +#define LOUD_SUPERLATIVES \ + Loudest = 3, \ + Lower = 4,\ + LouderThanLoudest = 5 +#elif GOLDEN_ENUM_DIFF +#define LOUD_SUPERLATIVES \ + Loudest = -1, +#else +#define LOUD_SUPERLATIVES \ + Loudest = 3, \ + Lower = 4 +#endif + +class SuperSpeaker { + enum Volume { + Loud = 1, + Louder = 2, + LOUD_SUPERLATIVES + }; +#if GOLDEN_CHANGE_FUNCTION_ACCESS + private: +#else + public: +#endif + static SuperSpeaker *CreateSuperSpeaker(int id); + public: + VIRTUAL_FUNCTIONS + Volume SpeakLoud(); + void SpeakLoudest() { }; + + virtual ~SuperSpeaker() { } + private: + int mSpeakderId; +}; diff --git a/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h b/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h new file mode 100644 index 0000000000000000000000000000000000000000..a9224c5d1327f122fc59ce2894abea4cad05cf53 --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h @@ -0,0 +1,26 @@ +#include "abstract_class.h" + +#if GOLDEN_PARAMETER_TYPE_DIFF +#define BP_PARAMETER_TYPE int +#else +#define BP_PARAMETER_TYPE float +#endif + +#if GOLDEN_EQUAL_BUILTIN_POINTER_TYPE_DIFF +#define EQ_POINTER_RETURN_TYPE unsigned char * +#else +#define EQ_POINTER_RETURN_TYPE unsigned int * +#endif + +class HighVolumeSpeaker : public SuperSpeaker { + public: + virtual void Speak() override; + virtual LISTEN_RETURN_TYPE Listen() override; + HighVolumeSpeaker *BadPractice(BP_PARAMETER_TYPE id); +#if GOLDEN_ADD_FUNCTION + int AddedFunction(); +#endif +#if GOLDEN_ADD_GLOBVAR + static int global_unprotected_id; +#endif +}; diff --git a/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h b/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h new file mode 100644 index 0000000000000000000000000000000000000000..27b66129bdf232a9b24e49a7639dd36c190bb834 --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h @@ -0,0 +1,35 @@ +#include "abstract_class.h" + +#if GOLDEN_MEMBER_DIFF +#define CLASS_MEMBERS \ + long long speaker_long_long; \ + long long * speaker_long_long_star; +#elif GOLDEN_MEMBER_FAKE_DIFF +#define CLASS_MEMBERS \ + char32_t speaker_uint_t;\ + float *speaker_float_star; +#elif GOLDEN_MEMBER_INTEGRAL_TYPE_DIFF +#define CLASS_MEMBERS \ + float speaker_float;\ + float *speaker_float_star; +#elif GOLDEN_MEMBER_CV_DIFF +#define CLASS_MEMBERS \ + unsigned int speaker_uint_t;\ + const float *const_speaker_float_star; +#else +#define CLASS_MEMBERS \ + unsigned int speaker_uint_t; \ + float *speaker_float_star; +#endif + +class LowVolumeSpeaker : public SuperSpeaker { + public: + virtual void Speak() override; + virtual LISTEN_RETURN_TYPE Listen() override; +#if GOLDEN_CHANGE_MEMBER_ACCESS + private: +#else + public: +#endif + CLASS_MEMBERS +}; diff --git a/vndk/tools/header-checker/tests/integration/cpp/gold/low_volume_speaker.cpp b/vndk/tools/header-checker/tests/integration/cpp/gold/low_volume_speaker.cpp new file mode 100644 index 0000000000000000000000000000000000000000..4d1aee5c8605ba0cdcdab0812163f024f332ffa9 --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/cpp/gold/low_volume_speaker.cpp @@ -0,0 +1,4 @@ +#include + +void LowVolumeSpeaker::Speak() { } +LISTEN_RETURN_TYPE LowVolumeSpeaker::Listen() { LISTEN_RETURN_STATEMENT } diff --git a/vndk/tools/header-checker/tests/integration/cpp/gold/map.txt b/vndk/tools/header-checker/tests/integration/cpp/gold/map.txt new file mode 100644 index 0000000000000000000000000000000000000000..6b6c8e182d1c4c8b708a117d2a07fff3b307d0bd --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/cpp/gold/map.txt @@ -0,0 +1,15 @@ +libcpp_golden { +global: + _Z26test_virtual_function_callP12SuperSpeaker; + _ZN12SuperSpeaker11SpeakLouderEv; + _ZN12SuperSpeaker18CreateSuperSpeakerEi; + _ZN12SuperSpeaker9SpeakLoudEv; + _ZN16LowVolumeSpeaker5SpeakEv; + _ZN16LowVolumeSpeaker6ListenEv; + _ZN17HighVolumeSpeaker11BadPracticeEf; + _ZN17HighVolumeSpeaker5SpeakEv; + _ZN17HighVolumeSpeaker6ListenEv; + _ZN12NotReferenced; + _ZTV16LowVolumeSpeaker; #var + _ZTV17HighVolumeSpeaker; #var +}; diff --git a/vndk/tools/header-checker/tests/integration/cpp/gold/map_add_function.txt b/vndk/tools/header-checker/tests/integration/cpp/gold/map_add_function.txt new file mode 100644 index 0000000000000000000000000000000000000000..157b053f295bf5f97b9337101b47708bb67ef495 --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/cpp/gold/map_add_function.txt @@ -0,0 +1,19 @@ +libcpp_golden_added_function { +global: + _Z26test_virtual_function_callP12SuperSpeaker; + _ZN12SuperSpeaker11SpeakLouderEv; + _ZN12SuperSpeaker18CreateSuperSpeakerEi; + _ZN12SuperSpeaker9SpeakLoudEv; + _ZN12SuperSpeakerD2Ev; + _ZN16LowVolumeSpeaker5SpeakEv; + _ZN16LowVolumeSpeaker6ListenEv; + _ZN16LowVolumeSpeakerD0Ev; + _ZN17HighVolumeSpeaker11BadPracticeEf; + _ZN17HighVolumeSpeaker13AddedFunctionEv; + _ZN17HighVolumeSpeaker5SpeakEv; + _ZN17HighVolumeSpeaker6ListenEv; + _ZN17HighVolumeSpeakerD0Ev; + _ZN12NotReferenced; + _ZTV16LowVolumeSpeaker; #var + _ZTV17HighVolumeSpeaker; #var +}; diff --git a/vndk/tools/header-checker/tests/integration/cpp/gold/map_added_globvar.txt b/vndk/tools/header-checker/tests/integration/cpp/gold/map_added_globvar.txt new file mode 100644 index 0000000000000000000000000000000000000000..81b5926ecec6623b3d0774e5fffe99c7366db1c6 --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/cpp/gold/map_added_globvar.txt @@ -0,0 +1,19 @@ +libc_and_cpp_add_global_variable { + global: + _Z26test_virtual_function_callP12SuperSpeaker; + _ZN12SuperSpeaker11SpeakLouderEv; + _ZN12SuperSpeaker18CreateSuperSpeakerEi; + _ZN12SuperSpeaker9SpeakLoudEv; + _ZN12SuperSpeakerD2Ev; + _ZN16LowVolumeSpeaker5SpeakEv; + _ZN16LowVolumeSpeaker6ListenEv; + _ZN16LowVolumeSpeakerD0Ev; + _ZN17HighVolumeSpeaker11BadPracticeEf; + _ZN17HighVolumeSpeaker5SpeakEv; + _ZN17HighVolumeSpeaker6ListenEv; + _ZN17HighVolumeSpeakerD0Ev; + _ZN12NotReferenced; + _ZN17HighVolumeSpeaker21global_unprotected_idE; #var + _ZTV16LowVolumeSpeaker; #var + _ZTV17HighVolumeSpeaker; #var +}; diff --git a/vndk/tools/header-checker/tests/integration/cpp/gold/map_elf_symbol_removed.txt b/vndk/tools/header-checker/tests/integration/cpp/gold/map_elf_symbol_removed.txt new file mode 100644 index 0000000000000000000000000000000000000000..0e439374dee4b4180659b0f0b6b8828a8f67d992 --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/cpp/gold/map_elf_symbol_removed.txt @@ -0,0 +1,14 @@ +libcpp_golden { +global: + _Z26test_virtual_function_callP12SuperSpeaker; + _ZN12SuperSpeaker11SpeakLouderEv; + _ZN12SuperSpeaker18CreateSuperSpeakerEi; + _ZN12SuperSpeaker9SpeakLoudEv; + _ZN16LowVolumeSpeaker5SpeakEv; + _ZN16LowVolumeSpeaker6ListenEv; + _ZN17HighVolumeSpeaker11BadPracticeEf; + _ZN17HighVolumeSpeaker5SpeakEv; + _ZN17HighVolumeSpeaker6ListenEv; + _ZTV16LowVolumeSpeaker; #var + _ZTV17HighVolumeSpeaker; #var +}; diff --git a/vndk/tools/header-checker/tests/integration/cpp/gold/map_parameter_type_diff.txt b/vndk/tools/header-checker/tests/integration/cpp/gold/map_parameter_type_diff.txt new file mode 100644 index 0000000000000000000000000000000000000000..6335c9e8e18a10f55f9d8bff1e6bee2c0ea23b57 --- /dev/null +++ b/vndk/tools/header-checker/tests/integration/cpp/gold/map_parameter_type_diff.txt @@ -0,0 +1,18 @@ +libcpp_gold_parameter_type_diff { +global: + _Z26test_virtual_function_callP12SuperSpeaker; + _ZN12SuperSpeaker11SpeakLouderEv; + _ZN12SuperSpeaker18CreateSuperSpeakerEi; + _ZN12SuperSpeaker9SpeakLoudEv; + _ZN12SuperSpeakerD2Ev; + _ZN16LowVolumeSpeaker5SpeakEv; + _ZN16LowVolumeSpeaker6ListenEv; + _ZN16LowVolumeSpeakerD0Ev; + _ZN17HighVolumeSpeaker11BadPracticeEi; + _ZN17HighVolumeSpeaker5SpeakEv; + _ZN17HighVolumeSpeaker6ListenEv; + _ZN12NotReferenced; + _ZN17HighVolumeSpeakerD0Ev; + _ZTV16LowVolumeSpeaker; #var + _ZTV17HighVolumeSpeaker; #var +}; diff --git a/vndk/tools/header-checker/tests/module.py b/vndk/tools/header-checker/tests/module.py new file mode 100755 index 0000000000000000000000000000000000000000..af58dfbfbf3c7297d4bc96303e07da49ce2f6b1f --- /dev/null +++ b/vndk/tools/header-checker/tests/module.py @@ -0,0 +1,311 @@ +#!/usr/bin/env python3 + +import os +import sys +import tempfile + +import_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) +import_path = os.path.abspath(os.path.join(import_path, 'utils')) +sys.path.insert(1, import_path) + +from utils import run_header_abi_dumper_on_file +from utils import run_header_abi_linker +from utils import TARGET_ARCHS +from utils import SOURCE_ABI_DUMP_EXT + +SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__)) +INPUT_DIR = os.path.join(SCRIPT_DIR, 'input') +EXPECTED_DIR = os.path.join(SCRIPT_DIR, 'expected') +REF_DUMP_DIR = os.path.join(SCRIPT_DIR, 'reference_dumps') +ARCH_TARGET_CFLAGS = {'arm': ['-target', 'arm-linux-androideabi'], + 'arm64': ['-target', 'aarch64-linux-android'], + 'x86' : ['-target', 'i386-linux-androideabi'], + 'x86_64' : ['-target', 'x86_64-linux-android'], + 'mips' : ['-target', 'mips-linux-androideabi'], + 'mips64' : ['-target', 'mips64-linux-android'],} + +def relative_to_abs_path(relative_path): + return os.path.join(SCRIPT_DIR, relative_path) + +def relative_to_abs_path_list(relative_path_list): + abs_paths = [] + for relative_path in relative_path_list: + abs_paths.append(relative_to_abs_path(relative_path)) + return abs_paths + +class Module(object): + def __init__(self, name, arch, srcs, version_script, cflags, + export_include_dirs, api): + self.name = name + self.arch = arch + self.srcs = relative_to_abs_path_list(srcs) + self.version_script = relative_to_abs_path(version_script) + self.cflags = cflags + self.arch_cflags = [''] + if self.arch != '': + self.arch_cflags = ARCH_TARGET_CFLAGS.get(self.arch) + self.export_include_dirs = relative_to_abs_path_list(export_include_dirs) + self.api = api + + def get_name(self): + return self.name + + def get_arch(self): + return self.arch + + def get_srcs(self): + return self.srcs + + def get_export_include_dirs(self): + return self.export_include_dirs + + def get_cflags(self): + return self.cflags + + def get_version_script(self): + return self.version_script + + def get_api(self): + return self.api + + def make_lsdump(self, default_cflags): + """ For each source file, produce a .sdump file, and link them to form + an lsump file""" + dumps_to_link = [] + with tempfile.TemporaryDirectory() as tmp: + output_lsdump = os.path.join(tmp, self.name) + SOURCE_ABI_DUMP_EXT + for src in self.srcs: + output_path = os.path.join(tmp, os.path.basename(src)) + '.sdump' + dumps_to_link.append(output_path) + run_header_abi_dumper_on_file( + src, output_path, self.export_include_dirs, + self.cflags + self.arch_cflags + default_cflags) + return run_header_abi_linker(output_lsdump, dumps_to_link, + self.version_script, self.api, + self.arch) + @staticmethod + def mutate_module_for_all_arches(module): + modules = [] + name = module.get_name() + srcs = module.get_srcs() + version_script = module.get_version_script() + cflags = module.get_cflags() + export_include_dirs = module.get_export_include_dirs() + api = module.get_api() + for target_arch in TARGET_ARCHS: + modules.append(Module(name, target_arch, srcs, version_script, + cflags, export_include_dirs, api)) + return modules + + @staticmethod + def get_test_modules(): + modules = [] + for module in TEST_MODULES: + if module.get_arch() == '': + modules += Module.mutate_module_for_all_arches(module) + return modules + +TEST_MODULES = [ + Module( + name = 'libc_and_cpp', + srcs = ['integration/c_and_cpp/source1.cpp', + 'integration/c_and_cpp/source2.c', + ], + version_script = 'integration/c_and_cpp/map.txt', + export_include_dirs = ['integration/c_and_cpp/include'], + cflags = [], + arch = '', + api = 'current', + ), + Module( + name = 'libc_and_cpp_with_unused_struct', + srcs = ['integration/c_and_cpp/source1.cpp', + 'integration/c_and_cpp/source2.c', + ], + version_script = 'integration/c_and_cpp/map.txt', + export_include_dirs = ['integration/c_and_cpp/include'], + cflags = ['-DINCLUDE_UNUSED_STRUCTS=1'], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = [], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp_add_function', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map_add_function.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = ['-DGOLDEN_ADD_FUNCTION=1'], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp_change_function_access', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = ['-DGOLDEN_CHANGE_FUNCTION_ACCESS=1'], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp_add_global_variable', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map_added_globvar.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = ['-DGOLDEN_ADD_GLOBVAR=1'], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp_return_type_diff', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = ['-DGOLDEN_RETURN_TYPE_DIFF=1'], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp_parameter_type_diff', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map_parameter_type_diff.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = ['-DGOLDEN_PARAMETER_TYPE_DIFF=1'], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp_vtable_diff', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = ['-DGOLDEN_VTABLE_DIFF=1'], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp_member_diff', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = ['-DGOLDEN_MEMBER_DIFF=1'], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp_member_fake_diff', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = ['-DGOLDEN_MEMBER_FAKE_DIFF=1'], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp_member_cv_diff', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = ['-DGOLDEN_MEMBER_CV_DIFF=1'], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp_change_member_access', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = ['-DGOLDEN_CHANGE_MEMBER_ACCESS=1'], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp_member_integral_type_diff', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = ['-DGOLDEN_MEMBER_INTEGRAL_TYPE_DIFF=1'], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp_enum_diff', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = ['-DGOLDEN_ENUM_DIFF=1'], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp_enum_extended', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = ['-DGOLDEN_ENUM_EXTENSION=1'], + arch = '', + api = 'current', + ), + Module( + name = 'libgolden_cpp_unreferenced_elf_symbol_removed', + srcs = ['integration/cpp/gold/golden_1.cpp', + 'integration/cpp/gold/high_volume_speaker.cpp', + 'integration/cpp/gold/low_volume_speaker.cpp', + ], + version_script = 'integration/cpp/gold/map_elf_symbol_removed.txt', + export_include_dirs = ['integration/cpp/gold/include'], + cflags = [], + arch = '', + api = 'current', + ), +] 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 new file mode 100644 index 0000000000000000000000000000000000000000..36c64ba187f17429af229b710bb51b85636ec00d --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp.so.lsdump @@ -0,0 +1,172 @@ +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 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "Cstruct" + size: 8 + alignment: 4 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + fields { + referenced_type: "Cinner *" + field_offset: 32 + field_name: "b" + access: public_access + } + 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 *" + } +} +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: "Cinner *" + size: 4 + alignment: 4 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + } +} +pointer_types { + type_info { + name: "Cstruct *" + size: 4 + alignment: 4 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + } +} +pointer_types { + type_info { + name: "Cstruct **" + size: 4 + alignment: 4 + referenced_type: "Cstruct *" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct **" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "Foo" + function_name: "foo" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + parameters { + referenced_type: "int *" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false + } + 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" +} +elf_functions { + name: "_Z3fooPiS_" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..3ddf19a0d8c60dcb63e472bb902430b1b9c613a2 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libc_and_cpp_with_unused_struct.so.lsdump @@ -0,0 +1,190 @@ +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 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "Cstruct" + size: 8 + alignment: 4 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + fields { + referenced_type: "Cinner *" + field_offset: 32 + field_name: "b" + access: public_access + } + 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 *" + } +} +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: "Cinner *" + size: 4 + alignment: 4 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + } +} +pointer_types { + type_info { + name: "Cstruct *" + size: 4 + alignment: 4 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + } +} +pointer_types { + type_info { + name: "Cstruct **" + size: 4 + alignment: 4 + referenced_type: "Cstruct *" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct **" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "Foo" + function_name: "foo" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + parameters { + referenced_type: "int *" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false + } + 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" +} +elf_functions { + name: "_Z3fooPiS_" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..a1a109ab5a95b8d1b833ad5826e38fdd2980690c --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..62f7520d7c92ce797b7a3f5ab241c88ad271154e --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_function.so.lsdump @@ -0,0 +1,438 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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: "int" + function_name: "HighVolumeSpeaker::AddedFunction" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "HighVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker13AddedFunctionEv" + 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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker13AddedFunctionEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..f06b66f2235063f45a2578e029b7f9a8e3df9ca2 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_add_global_variable.so.lsdump @@ -0,0 +1,434 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +global_vars { + name: "HighVolumeSpeaker::global_unprotected_id" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "_ZN17HighVolumeSpeaker21global_unprotected_idE" + referenced_type: "int" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZN17HighVolumeSpeaker21global_unprotected_idE" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..ad2413d9063271f0d0b3bf061f4cc773384c4440 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_function_access.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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: 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..39d9480ef531c0a02eae84f049b20e5ec344799e --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_change_member_access.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: private_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: private_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..4bf50517c3809b45e2cfe2b5fe64e135f6922bda --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_diff.so.lsdump @@ -0,0 +1,400 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: -1 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + 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 + } + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..e70ffe0fc63abc64fda99d4609310d49f770bef4 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_enum_extended.so.lsdump @@ -0,0 +1,408 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + name: "SuperSpeaker::Volume::Lower" + } + enum_fields { + enum_field_value: 5 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..b65469e307a37d53ac52c87767fc77c267cf2055 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_fabricated_function_ast_removed.so.lsdump @@ -0,0 +1,393 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_fake_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_fake_member_diff.so.lsdump new file mode 100644 index 0000000000000000000000000000000000000000..38dbd172ee87ce513c15de3d7b4a3ca591d56412 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_fake_member_diff.so.lsdump @@ -0,0 +1,413 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "char32_t" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..b15d029242da6038d8ff48f718058e4ca7228f68 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_cv_diff.so.lsdump @@ -0,0 +1,417 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "const float *" + field_offset: 96 + field_name: "const_speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +pointer_types { + type_info { + name: "const float *" + size: 4 + alignment: 4 + referenced_type: "const float" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "const float *" + } +} +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 *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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" + 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: "const float" + } + is_const: true + is_volatile: false + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..3cbba087c0bf1bc2261ffd9a910a7bd095dfba65 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_diff.so.lsdump @@ -0,0 +1,416 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "long long" + field_offset: 64 + field_name: "speaker_long_long" + access: public_access + } + fields { + referenced_type: "long long *" + field_offset: 128 + field_name: "speaker_long_long_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +pointer_types { + type_info { + name: "long long *" + size: 4 + alignment: 4 + referenced_type: "long long" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "long long *" + } +} +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 *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..057ba4cf5abae73597e8d37a29ab3d2abc6c5c02 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_fake_diff.so.lsdump @@ -0,0 +1,416 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "char32_t" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..87cf601798085980e21991d293cea872b915324f --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_member_integral_type_diff.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "float" + field_offset: 64 + field_name: "speaker_float" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..eddb0a6da9224bced0b41ecd443903026c2bf92b --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_parameter_type_diff.so.lsdump @@ -0,0 +1,424 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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: "int" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEi" + 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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEi" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..9f1b9f2d8c65abfe588fc09c8374618e5d910e16 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_return_type_diff.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "int" + function_name: "LowVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..78760e5806e752b360fad9d60b948b1947bc76a9 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump @@ -0,0 +1,401 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..ec705b409cfdbcb1dba40adf464c541c7b7b28dd --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm/libgolden_cpp_vtable_diff.so.lsdump @@ -0,0 +1,400 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..4c4dfa329744c39a849771dfb2e344f209b516d7 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp.so.lsdump @@ -0,0 +1,172 @@ +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 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "Cstruct" + size: 16 + alignment: 8 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + fields { + referenced_type: "Cinner *" + field_offset: 64 + field_name: "b" + access: public_access + } + 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 *" + } +} +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: "Cinner *" + size: 8 + alignment: 8 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + } +} +pointer_types { + type_info { + name: "Cstruct *" + size: 8 + alignment: 8 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + } +} +pointer_types { + type_info { + name: "Cstruct **" + size: 8 + alignment: 8 + referenced_type: "Cstruct *" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct **" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "Foo" + function_name: "foo" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + parameters { + referenced_type: "int *" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false + } + 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" +} +elf_functions { + name: "_Z3fooPiS_" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..5bbeb16328e62ffd1fd817ee2faa54af428d0972 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libc_and_cpp_with_unused_struct.so.lsdump @@ -0,0 +1,190 @@ +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 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "Cstruct" + size: 16 + alignment: 8 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + fields { + referenced_type: "Cinner *" + field_offset: 64 + field_name: "b" + access: public_access + } + 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 *" + } +} +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: "Cinner *" + size: 8 + alignment: 8 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + } +} +pointer_types { + type_info { + name: "Cstruct *" + size: 8 + alignment: 8 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + } +} +pointer_types { + type_info { + name: "Cstruct **" + size: 8 + alignment: 8 + referenced_type: "Cstruct *" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct **" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "Foo" + function_name: "foo" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + parameters { + referenced_type: "int *" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false + } + 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" +} +elf_functions { + name: "_Z3fooPiS_" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..540cc3ab41528995f4fbf9b72eda05b538727ca3 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..605c3b56cd9e3eb2cd4d6a2bfb2af0792dab8501 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_function.so.lsdump @@ -0,0 +1,438 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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: "int" + function_name: "HighVolumeSpeaker::AddedFunction" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "HighVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker13AddedFunctionEv" + 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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker13AddedFunctionEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..f66d224051f67458780ce73f81570a8185f4a85c --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_add_global_variable.so.lsdump @@ -0,0 +1,434 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +global_vars { + name: "HighVolumeSpeaker::global_unprotected_id" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "_ZN17HighVolumeSpeaker21global_unprotected_idE" + referenced_type: "int" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZN17HighVolumeSpeaker21global_unprotected_idE" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..66ba7ad3e349cea606337784be45825b150d7fc4 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_function_access.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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: 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..458c6ff85f054091dabd3281f72cd8f7f95da9d7 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_change_member_access.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: private_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: private_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..a19f0e27e7d8e6b8a4234baecfd21c4a948cebed --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_diff.so.lsdump @@ -0,0 +1,400 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: -1 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + 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 + } + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..4a871ee08dca06f00bccad6b5e92421847a5c228 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_enum_extended.so.lsdump @@ -0,0 +1,408 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + name: "SuperSpeaker::Volume::Lower" + } + enum_fields { + enum_field_value: 5 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..b9268e9bb20ad873dcaa40a85d95c863cbbd6cb1 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump @@ -0,0 +1,393 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} diff --git a/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_fake_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_fake_member_diff.so.lsdump new file mode 100644 index 0000000000000000000000000000000000000000..ed3f918fcdbfe5da7963bff7766e63a704cba22d --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_fake_member_diff.so.lsdump @@ -0,0 +1,413 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "char32_t" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..5401d6ae723199e35d5bd00746e5eb565f559bd1 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_cv_diff.so.lsdump @@ -0,0 +1,417 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "const float *" + field_offset: 128 + field_name: "const_speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +pointer_types { + type_info { + name: "const float *" + size: 8 + alignment: 8 + referenced_type: "const float" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "const float *" + } +} +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 *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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" + 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: "const float" + } + is_const: true + is_volatile: false + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..b51dc445cf900adf1a1b1b732a84f110473bc7a1 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_diff.so.lsdump @@ -0,0 +1,416 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 32 + 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" + } + fields { + referenced_type: "long long" + field_offset: 128 + field_name: "speaker_long_long" + access: public_access + } + fields { + referenced_type: "long long *" + field_offset: 192 + field_name: "speaker_long_long_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +pointer_types { + type_info { + name: "long long *" + size: 8 + alignment: 8 + referenced_type: "long long" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "long long *" + } +} +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 *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..62384b54468a8b701a14e3f52245e6a6f6bde6e4 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_fake_diff.so.lsdump @@ -0,0 +1,416 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "char32_t" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..8141cced66c2acab690e216ebc7842d1c0b636db --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_member_integral_type_diff.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "float" + field_offset: 96 + field_name: "speaker_float" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..ce3b6d37794562e4e77171435db48f1fd98cbbf5 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_parameter_type_diff.so.lsdump @@ -0,0 +1,424 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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: "int" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEi" + 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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEi" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..06be7552c0dee5d7bbe5068c795d22e65b1240a8 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_return_type_diff.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "int" + function_name: "LowVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..1ab511143ed9a238bfcfdf3efa9857ceddba047c --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump @@ -0,0 +1,401 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..81acfc9613c292180e4cb2e8a551a413b44d0627 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/arm64/libgolden_cpp_vtable_diff.so.lsdump @@ -0,0 +1,400 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..36c64ba187f17429af229b710bb51b85636ec00d --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp.so.lsdump @@ -0,0 +1,172 @@ +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 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "Cstruct" + size: 8 + alignment: 4 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + fields { + referenced_type: "Cinner *" + field_offset: 32 + field_name: "b" + access: public_access + } + 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 *" + } +} +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: "Cinner *" + size: 4 + alignment: 4 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + } +} +pointer_types { + type_info { + name: "Cstruct *" + size: 4 + alignment: 4 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + } +} +pointer_types { + type_info { + name: "Cstruct **" + size: 4 + alignment: 4 + referenced_type: "Cstruct *" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct **" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "Foo" + function_name: "foo" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + parameters { + referenced_type: "int *" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false + } + 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" +} +elf_functions { + name: "_Z3fooPiS_" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..3ddf19a0d8c60dcb63e472bb902430b1b9c613a2 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libc_and_cpp_with_unused_struct.so.lsdump @@ -0,0 +1,190 @@ +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 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "Cstruct" + size: 8 + alignment: 4 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + fields { + referenced_type: "Cinner *" + field_offset: 32 + field_name: "b" + access: public_access + } + 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 *" + } +} +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: "Cinner *" + size: 4 + alignment: 4 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + } +} +pointer_types { + type_info { + name: "Cstruct *" + size: 4 + alignment: 4 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + } +} +pointer_types { + type_info { + name: "Cstruct **" + size: 4 + alignment: 4 + referenced_type: "Cstruct *" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct **" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "Foo" + function_name: "foo" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + parameters { + referenced_type: "int *" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false + } + 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" +} +elf_functions { + name: "_Z3fooPiS_" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..a1a109ab5a95b8d1b833ad5826e38fdd2980690c --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..62f7520d7c92ce797b7a3f5ab241c88ad271154e --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_function.so.lsdump @@ -0,0 +1,438 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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: "int" + function_name: "HighVolumeSpeaker::AddedFunction" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "HighVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker13AddedFunctionEv" + 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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker13AddedFunctionEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..f06b66f2235063f45a2578e029b7f9a8e3df9ca2 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_add_global_variable.so.lsdump @@ -0,0 +1,434 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +global_vars { + name: "HighVolumeSpeaker::global_unprotected_id" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "_ZN17HighVolumeSpeaker21global_unprotected_idE" + referenced_type: "int" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZN17HighVolumeSpeaker21global_unprotected_idE" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..ad2413d9063271f0d0b3bf061f4cc773384c4440 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_function_access.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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: 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..39d9480ef531c0a02eae84f049b20e5ec344799e --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_change_member_access.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: private_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: private_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..4bf50517c3809b45e2cfe2b5fe64e135f6922bda --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_diff.so.lsdump @@ -0,0 +1,400 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: -1 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + 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 + } + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..e70ffe0fc63abc64fda99d4609310d49f770bef4 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_enum_extended.so.lsdump @@ -0,0 +1,408 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + name: "SuperSpeaker::Volume::Lower" + } + enum_fields { + enum_field_value: 5 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..b65469e307a37d53ac52c87767fc77c267cf2055 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_fabricated_function_ast_removed.so.lsdump @@ -0,0 +1,393 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_fake_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_fake_member_diff.so.lsdump new file mode 100644 index 0000000000000000000000000000000000000000..38dbd172ee87ce513c15de3d7b4a3ca591d56412 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_fake_member_diff.so.lsdump @@ -0,0 +1,413 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "char32_t" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..b15d029242da6038d8ff48f718058e4ca7228f68 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_cv_diff.so.lsdump @@ -0,0 +1,417 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "const float *" + field_offset: 96 + field_name: "const_speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +pointer_types { + type_info { + name: "const float *" + size: 4 + alignment: 4 + referenced_type: "const float" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "const float *" + } +} +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 *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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" + 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: "const float" + } + is_const: true + is_volatile: false + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..3cbba087c0bf1bc2261ffd9a910a7bd095dfba65 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_diff.so.lsdump @@ -0,0 +1,416 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "long long" + field_offset: 64 + field_name: "speaker_long_long" + access: public_access + } + fields { + referenced_type: "long long *" + field_offset: 128 + field_name: "speaker_long_long_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +pointer_types { + type_info { + name: "long long *" + size: 4 + alignment: 4 + referenced_type: "long long" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "long long *" + } +} +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 *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..057ba4cf5abae73597e8d37a29ab3d2abc6c5c02 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_fake_diff.so.lsdump @@ -0,0 +1,416 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "char32_t" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..87cf601798085980e21991d293cea872b915324f --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_member_integral_type_diff.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "float" + field_offset: 64 + field_name: "speaker_float" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..eddb0a6da9224bced0b41ecd443903026c2bf92b --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_parameter_type_diff.so.lsdump @@ -0,0 +1,424 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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: "int" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEi" + 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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEi" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..9f1b9f2d8c65abfe588fc09c8374618e5d910e16 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_return_type_diff.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "int" + function_name: "LowVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..78760e5806e752b360fad9d60b948b1947bc76a9 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump @@ -0,0 +1,401 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..ec705b409cfdbcb1dba40adf464c541c7b7b28dd --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips/libgolden_cpp_vtable_diff.so.lsdump @@ -0,0 +1,400 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..4c4dfa329744c39a849771dfb2e344f209b516d7 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp.so.lsdump @@ -0,0 +1,172 @@ +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 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "Cstruct" + size: 16 + alignment: 8 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + fields { + referenced_type: "Cinner *" + field_offset: 64 + field_name: "b" + access: public_access + } + 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 *" + } +} +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: "Cinner *" + size: 8 + alignment: 8 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + } +} +pointer_types { + type_info { + name: "Cstruct *" + size: 8 + alignment: 8 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + } +} +pointer_types { + type_info { + name: "Cstruct **" + size: 8 + alignment: 8 + referenced_type: "Cstruct *" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct **" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "Foo" + function_name: "foo" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + parameters { + referenced_type: "int *" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false + } + 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" +} +elf_functions { + name: "_Z3fooPiS_" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..5bbeb16328e62ffd1fd817ee2faa54af428d0972 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libc_and_cpp_with_unused_struct.so.lsdump @@ -0,0 +1,190 @@ +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 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "Cstruct" + size: 16 + alignment: 8 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + fields { + referenced_type: "Cinner *" + field_offset: 64 + field_name: "b" + access: public_access + } + 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 *" + } +} +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: "Cinner *" + size: 8 + alignment: 8 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + } +} +pointer_types { + type_info { + name: "Cstruct *" + size: 8 + alignment: 8 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + } +} +pointer_types { + type_info { + name: "Cstruct **" + size: 8 + alignment: 8 + referenced_type: "Cstruct *" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct **" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "Foo" + function_name: "foo" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + parameters { + referenced_type: "int *" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false + } + 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" +} +elf_functions { + name: "_Z3fooPiS_" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..540cc3ab41528995f4fbf9b72eda05b538727ca3 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..605c3b56cd9e3eb2cd4d6a2bfb2af0792dab8501 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_function.so.lsdump @@ -0,0 +1,438 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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: "int" + function_name: "HighVolumeSpeaker::AddedFunction" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "HighVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker13AddedFunctionEv" + 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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker13AddedFunctionEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..f66d224051f67458780ce73f81570a8185f4a85c --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_add_global_variable.so.lsdump @@ -0,0 +1,434 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +global_vars { + name: "HighVolumeSpeaker::global_unprotected_id" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "_ZN17HighVolumeSpeaker21global_unprotected_idE" + referenced_type: "int" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZN17HighVolumeSpeaker21global_unprotected_idE" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..66ba7ad3e349cea606337784be45825b150d7fc4 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_function_access.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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: 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..458c6ff85f054091dabd3281f72cd8f7f95da9d7 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_change_member_access.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: private_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: private_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..a19f0e27e7d8e6b8a4234baecfd21c4a948cebed --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_diff.so.lsdump @@ -0,0 +1,400 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: -1 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + 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 + } + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..4a871ee08dca06f00bccad6b5e92421847a5c228 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_enum_extended.so.lsdump @@ -0,0 +1,408 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + name: "SuperSpeaker::Volume::Lower" + } + enum_fields { + enum_field_value: 5 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..b9268e9bb20ad873dcaa40a85d95c863cbbd6cb1 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump @@ -0,0 +1,393 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} diff --git a/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_fake_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_fake_member_diff.so.lsdump new file mode 100644 index 0000000000000000000000000000000000000000..ed3f918fcdbfe5da7963bff7766e63a704cba22d --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_fake_member_diff.so.lsdump @@ -0,0 +1,413 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "char32_t" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..5401d6ae723199e35d5bd00746e5eb565f559bd1 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_cv_diff.so.lsdump @@ -0,0 +1,417 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "const float *" + field_offset: 128 + field_name: "const_speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +pointer_types { + type_info { + name: "const float *" + size: 8 + alignment: 8 + referenced_type: "const float" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "const float *" + } +} +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 *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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" + 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: "const float" + } + is_const: true + is_volatile: false + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..b51dc445cf900adf1a1b1b732a84f110473bc7a1 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_diff.so.lsdump @@ -0,0 +1,416 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 32 + 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" + } + fields { + referenced_type: "long long" + field_offset: 128 + field_name: "speaker_long_long" + access: public_access + } + fields { + referenced_type: "long long *" + field_offset: 192 + field_name: "speaker_long_long_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +pointer_types { + type_info { + name: "long long *" + size: 8 + alignment: 8 + referenced_type: "long long" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "long long *" + } +} +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 *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..62384b54468a8b701a14e3f52245e6a6f6bde6e4 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_fake_diff.so.lsdump @@ -0,0 +1,416 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "char32_t" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..8141cced66c2acab690e216ebc7842d1c0b636db --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_member_integral_type_diff.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "float" + field_offset: 96 + field_name: "speaker_float" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..ce3b6d37794562e4e77171435db48f1fd98cbbf5 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_parameter_type_diff.so.lsdump @@ -0,0 +1,424 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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: "int" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEi" + 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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEi" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..06be7552c0dee5d7bbe5068c795d22e65b1240a8 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_return_type_diff.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "int" + function_name: "LowVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..1ab511143ed9a238bfcfdf3efa9857ceddba047c --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump @@ -0,0 +1,401 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..81acfc9613c292180e4cb2e8a551a413b44d0627 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/mips64/libgolden_cpp_vtable_diff.so.lsdump @@ -0,0 +1,400 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..36c64ba187f17429af229b710bb51b85636ec00d --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp.so.lsdump @@ -0,0 +1,172 @@ +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 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "Cstruct" + size: 8 + alignment: 4 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + fields { + referenced_type: "Cinner *" + field_offset: 32 + field_name: "b" + access: public_access + } + 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 *" + } +} +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: "Cinner *" + size: 4 + alignment: 4 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + } +} +pointer_types { + type_info { + name: "Cstruct *" + size: 4 + alignment: 4 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + } +} +pointer_types { + type_info { + name: "Cstruct **" + size: 4 + alignment: 4 + referenced_type: "Cstruct *" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct **" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "Foo" + function_name: "foo" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + parameters { + referenced_type: "int *" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false + } + 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" +} +elf_functions { + name: "_Z3fooPiS_" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..3ddf19a0d8c60dcb63e472bb902430b1b9c613a2 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libc_and_cpp_with_unused_struct.so.lsdump @@ -0,0 +1,190 @@ +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 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "Cstruct" + size: 8 + alignment: 4 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + fields { + referenced_type: "Cinner *" + field_offset: 32 + field_name: "b" + access: public_access + } + 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 *" + } +} +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: "Cinner *" + size: 4 + alignment: 4 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + } +} +pointer_types { + type_info { + name: "Cstruct *" + size: 4 + alignment: 4 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + } +} +pointer_types { + type_info { + name: "Cstruct **" + size: 4 + alignment: 4 + referenced_type: "Cstruct *" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct **" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "Foo" + function_name: "foo" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + parameters { + referenced_type: "int *" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false + } + 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" +} +elf_functions { + name: "_Z3fooPiS_" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..a1a109ab5a95b8d1b833ad5826e38fdd2980690c --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..62f7520d7c92ce797b7a3f5ab241c88ad271154e --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_function.so.lsdump @@ -0,0 +1,438 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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: "int" + function_name: "HighVolumeSpeaker::AddedFunction" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "HighVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker13AddedFunctionEv" + 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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker13AddedFunctionEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..f06b66f2235063f45a2578e029b7f9a8e3df9ca2 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_add_global_variable.so.lsdump @@ -0,0 +1,434 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +global_vars { + name: "HighVolumeSpeaker::global_unprotected_id" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "_ZN17HighVolumeSpeaker21global_unprotected_idE" + referenced_type: "int" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZN17HighVolumeSpeaker21global_unprotected_idE" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..ad2413d9063271f0d0b3bf061f4cc773384c4440 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_function_access.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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: 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..39d9480ef531c0a02eae84f049b20e5ec344799e --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_change_member_access.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: private_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: private_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..4bf50517c3809b45e2cfe2b5fe64e135f6922bda --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_diff.so.lsdump @@ -0,0 +1,400 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: -1 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + 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 + } + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..e70ffe0fc63abc64fda99d4609310d49f770bef4 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_enum_extended.so.lsdump @@ -0,0 +1,408 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + name: "SuperSpeaker::Volume::Lower" + } + enum_fields { + enum_field_value: 5 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..b65469e307a37d53ac52c87767fc77c267cf2055 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_fabricated_function_ast_removed.so.lsdump @@ -0,0 +1,393 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_fake_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_fake_member_diff.so.lsdump new file mode 100644 index 0000000000000000000000000000000000000000..38dbd172ee87ce513c15de3d7b4a3ca591d56412 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_fake_member_diff.so.lsdump @@ -0,0 +1,413 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "char32_t" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..b15d029242da6038d8ff48f718058e4ca7228f68 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_cv_diff.so.lsdump @@ -0,0 +1,417 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "const float *" + field_offset: 96 + field_name: "const_speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +pointer_types { + type_info { + name: "const float *" + size: 4 + alignment: 4 + referenced_type: "const float" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "const float *" + } +} +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 *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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" + 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: "const float" + } + is_const: true + is_volatile: false + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..a8728e068fa82c8469455d26a1aba83c5f4df77b --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_diff.so.lsdump @@ -0,0 +1,416 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 20 + 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" + } + fields { + referenced_type: "long long" + field_offset: 64 + field_name: "speaker_long_long" + access: public_access + } + fields { + referenced_type: "long long *" + field_offset: 128 + field_name: "speaker_long_long_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +pointer_types { + type_info { + name: "long long *" + size: 4 + alignment: 4 + referenced_type: "long long" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "long long *" + } +} +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 *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..057ba4cf5abae73597e8d37a29ab3d2abc6c5c02 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_fake_diff.so.lsdump @@ -0,0 +1,416 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "char32_t" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..87cf601798085980e21991d293cea872b915324f --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_member_integral_type_diff.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "float" + field_offset: 64 + field_name: "speaker_float" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..eddb0a6da9224bced0b41ecd443903026c2bf92b --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_parameter_type_diff.so.lsdump @@ -0,0 +1,424 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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: "int" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEi" + 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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEi" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..9f1b9f2d8c65abfe588fc09c8374618e5d910e16 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_return_type_diff.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "int" + function_name: "LowVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..78760e5806e752b360fad9d60b948b1947bc76a9 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump @@ -0,0 +1,401 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..ec705b409cfdbcb1dba40adf464c541c7b7b28dd --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86/libgolden_cpp_vtable_diff.so.lsdump @@ -0,0 +1,400 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 16 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 64 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 96 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 4 + alignment: 4 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..4c4dfa329744c39a849771dfb2e344f209b516d7 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp.so.lsdump @@ -0,0 +1,172 @@ +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 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "Cstruct" + size: 16 + alignment: 8 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + fields { + referenced_type: "Cinner *" + field_offset: 64 + field_name: "b" + access: public_access + } + 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 *" + } +} +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: "Cinner *" + size: 8 + alignment: 8 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + } +} +pointer_types { + type_info { + name: "Cstruct *" + size: 8 + alignment: 8 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + } +} +pointer_types { + type_info { + name: "Cstruct **" + size: 8 + alignment: 8 + referenced_type: "Cstruct *" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct **" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "Foo" + function_name: "foo" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + parameters { + referenced_type: "int *" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false + } + 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" +} +elf_functions { + name: "_Z3fooPiS_" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..5bbeb16328e62ffd1fd817ee2faa54af428d0972 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libc_and_cpp_with_unused_struct.so.lsdump @@ -0,0 +1,190 @@ +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 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "c" + access: public_access + } + access: public_access + record_kind: struct_kind +} +record_types { + type_info { + name: "Cstruct" + size: 16 + alignment: 8 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct" + } + fields { + referenced_type: "int" + field_offset: 0 + field_name: "a" + access: public_access + } + fields { + referenced_type: "Cinner *" + field_offset: 64 + field_name: "b" + access: public_access + } + 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 *" + } +} +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: "Cinner *" + size: 8 + alignment: 8 + referenced_type: "Cinner" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cinner *" + } +} +pointer_types { + type_info { + name: "Cstruct *" + size: 8 + alignment: 8 + referenced_type: "Cstruct" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct *" + } +} +pointer_types { + type_info { + name: "Cstruct **" + size: 8 + alignment: 8 + referenced_type: "Cstruct *" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_include.h" + linker_set_key: "Cstruct **" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + is_unsigned: false + is_integral: false +} +functions { + return_type: "Foo" + function_name: "foo" + source_file: "/development/vndk/tools/header-checker/tests/integration/c_and_cpp/include/c_and_cpp.h" + parameters { + referenced_type: "int *" + default_arg: false + } + parameters { + referenced_type: "int *" + default_arg: false + } + 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" +} +elf_functions { + name: "_Z3fooPiS_" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..540cc3ab41528995f4fbf9b72eda05b538727ca3 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..605c3b56cd9e3eb2cd4d6a2bfb2af0792dab8501 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_function.so.lsdump @@ -0,0 +1,438 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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: "int" + function_name: "HighVolumeSpeaker::AddedFunction" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + parameters { + referenced_type: "HighVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker13AddedFunctionEv" + 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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker13AddedFunctionEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..f66d224051f67458780ce73f81570a8185f4a85c --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_add_global_variable.so.lsdump @@ -0,0 +1,434 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +global_vars { + name: "HighVolumeSpeaker::global_unprotected_id" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "_ZN17HighVolumeSpeaker21global_unprotected_idE" + referenced_type: "int" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZN17HighVolumeSpeaker21global_unprotected_idE" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..66ba7ad3e349cea606337784be45825b150d7fc4 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_function_access.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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: 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..458c6ff85f054091dabd3281f72cd8f7f95da9d7 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_change_member_access.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: private_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: private_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..a19f0e27e7d8e6b8a4234baecfd21c4a948cebed --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_diff.so.lsdump @@ -0,0 +1,400 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: -1 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +builtin_types { + type_info { + name: "unsigned int" + size: 4 + alignment: 4 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + 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 + } + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..4a871ee08dca06f00bccad6b5e92421847a5c228 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_enum_extended.so.lsdump @@ -0,0 +1,408 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + name: "SuperSpeaker::Volume::Lower" + } + enum_fields { + enum_field_value: 5 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..b9268e9bb20ad873dcaa40a85d95c863cbbd6cb1 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_fabricated_function_ast_removed.so.lsdump @@ -0,0 +1,393 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} diff --git a/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_fake_member_diff.so.lsdump b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_fake_member_diff.so.lsdump new file mode 100644 index 0000000000000000000000000000000000000000..ed3f918fcdbfe5da7963bff7766e63a704cba22d --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_fake_member_diff.so.lsdump @@ -0,0 +1,413 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "char32_t" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..5401d6ae723199e35d5bd00746e5eb565f559bd1 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_cv_diff.so.lsdump @@ -0,0 +1,417 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "const float *" + field_offset: 128 + field_name: "const_speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +pointer_types { + type_info { + name: "const float *" + size: 8 + alignment: 8 + referenced_type: "const float" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "const float *" + } +} +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 *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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" + 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: "const float" + } + is_const: true + is_volatile: false + 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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..b51dc445cf900adf1a1b1b732a84f110473bc7a1 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_diff.so.lsdump @@ -0,0 +1,416 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 32 + 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" + } + fields { + referenced_type: "long long" + field_offset: 128 + field_name: "speaker_long_long" + access: public_access + } + fields { + referenced_type: "long long *" + field_offset: 192 + field_name: "speaker_long_long_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +pointer_types { + type_info { + name: "long long *" + size: 8 + alignment: 8 + referenced_type: "long long" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "long long *" + } +} +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 *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..62384b54468a8b701a14e3f52245e6a6f6bde6e4 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_fake_diff.so.lsdump @@ -0,0 +1,416 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "char32_t" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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 +} +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 +} +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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..8141cced66c2acab690e216ebc7842d1c0b636db --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_member_integral_type_diff.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "float" + field_offset: 96 + field_name: "speaker_float" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..ce3b6d37794562e4e77171435db48f1fd98cbbf5 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_parameter_type_diff.so.lsdump @@ -0,0 +1,424 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + access: public_access +} +functions { + return_type: "void" + function_name: "SuperSpeaker::~SuperSpeaker" + 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: "_ZN12SuperSpeakerD2Ev" + 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 +} +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: "int" + default_arg: false + } + linker_set_key: "_ZN17HighVolumeSpeaker11BadPracticeEi" + 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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN12SuperSpeakerD2Ev" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeakerD0Ev" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEi" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeakerD0Ev" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..06be7552c0dee5d7bbe5068c795d22e65b1240a8 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_return_type_diff.so.lsdump @@ -0,0 +1,404 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + access: public_access +} +functions { + return_type: "int" + function_name: "LowVolumeSpeaker::Listen" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..1ab511143ed9a238bfcfdf3efa9857ceddba047c --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_unreferenced_elf_symbol_removed.so.lsdump @@ -0,0 +1,401 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..81acfc9613c292180e4cb2e8a551a413b44d0627 --- /dev/null +++ b/vndk/tools/header-checker/tests/reference_dumps/x86_64/libgolden_cpp_vtable_diff.so.lsdump @@ -0,0 +1,400 @@ +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 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker" + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "HighVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN17HighVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN17HighVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +record_types { + type_info { + name: "LowVolumeSpeaker" + size: 24 + 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" + } + fields { + referenced_type: "unsigned int" + field_offset: 96 + field_name: "speaker_uint_t" + access: public_access + } + fields { + referenced_type: "float *" + field_offset: 128 + field_name: "speaker_float_star" + access: public_access + } + base_specifiers { + referenced_type: "SuperSpeaker" + is_virtual: false + access: public_access + } + vtable_layout { + vtable_components { + kind: OffsetToTop + mangled_component_name: "" + component_value: 0 + } + vtable_components { + kind: RTTI + mangled_component_name: "LowVolumeSpeaker" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker6ListenEv" + component_value: 0 + } + vtable_components { + kind: FunctionPointer + mangled_component_name: "_ZN16LowVolumeSpeaker5SpeakEv" + component_value: 0 + } + vtable_components { + kind: CompleteDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD1Ev" + component_value: 0 + } + vtable_components { + kind: DeletingDtorPointer + mangled_component_name: "_ZN16LowVolumeSpeakerD0Ev" + component_value: 0 + } + } + access: public_access + record_kind: class_kind +} +enum_types { + type_info { + name: "SuperSpeaker::Volume" + size: 4 + alignment: 4 + referenced_type: "SuperSpeaker::Volume" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/abstract_class.h" + linker_set_key: "SuperSpeaker::Volume" + } + underlying_type: "unsigned int" + enum_fields { + enum_field_value: 1 + name: "SuperSpeaker::Volume::Loud" + } + enum_fields { + enum_field_value: 2 + name: "SuperSpeaker::Volume::Louder" + } + enum_fields { + enum_field_value: 3 + name: "SuperSpeaker::Volume::Loudest" + } + enum_fields { + enum_field_value: 4 + 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 *" + } +} +pointer_types { + type_info { + name: "HighVolumeSpeaker *" + size: 8 + alignment: 8 + referenced_type: "HighVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/high_volume_speaker.h" + linker_set_key: "HighVolumeSpeaker *" + } +} +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 + referenced_type: "LowVolumeSpeaker" + source_file: "/development/vndk/tools/header-checker/tests/integration/cpp/gold/include/low_volume_speaker.h" + linker_set_key: "LowVolumeSpeaker *" + } +} +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 + referenced_type: "unsigned int" + source_file: "" + linker_set_key: "unsigned int" + } + is_unsigned: true + is_integral: true +} +builtin_types { + type_info { + name: "void" + size: 0 + alignment: 0 + referenced_type: "void" + source_file: "" + linker_set_key: "void" + } + 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: "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" + 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" + parameters { + referenced_type: "SuperSpeaker *" + default_arg: false + } + linker_set_key: "_ZN12SuperSpeaker9SpeakLoudEv" + 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 +} +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 { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker5SpeakEv" + 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" + parameters { + referenced_type: "LowVolumeSpeaker *" + default_arg: false + } + linker_set_key: "_ZN16LowVolumeSpeaker6ListenEv" + access: public_access +} +elf_functions { + name: "_Z26test_virtual_function_callP12SuperSpeaker" +} +elf_functions { + name: "_ZN12NotReferenced" +} +elf_functions { + name: "_ZN12SuperSpeaker11SpeakLouderEv" +} +elf_functions { + name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi" +} +elf_functions { + name: "_ZN12SuperSpeaker9SpeakLoudEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN16LowVolumeSpeaker6ListenEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker11BadPracticeEf" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker5SpeakEv" +} +elf_functions { + name: "_ZN17HighVolumeSpeaker6ListenEv" +} +elf_objects { + name: "_ZTV16LowVolumeSpeaker" +} +elf_objects { + name: "_ZTV17HighVolumeSpeaker" +} diff --git a/vndk/tools/header-checker/tests/test.py b/vndk/tools/header-checker/tests/test.py index 627a353c0e788a58964af536025909f2546f74b4..72753ce71f5d37ac71b186c62b5466b749e06a79 100755 --- a/vndk/tools/header-checker/tests/test.py +++ b/vndk/tools/header-checker/tests/test.py @@ -2,12 +2,25 @@ import os import unittest +import sys -from utils import run_header_checker +import_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) +import_path = os.path.abspath(os.path.join(import_path, 'utils')) +sys.path.insert(1, import_path) + +from utils import run_header_abi_dumper +from utils import run_abi_diff +from utils import SOURCE_ABI_DUMP_EXT +from utils import TARGET_ARCHS +from utils import get_build_var +from utils import make_library +from utils import find_lib_lsdump +from module import Module SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__)) INPUT_DIR = os.path.join(SCRIPT_DIR, 'input') EXPECTED_DIR = os.path.join(SCRIPT_DIR, 'expected') +REF_DUMP_DIR = os.path.join(SCRIPT_DIR, 'reference_dumps') class MyTest(unittest.TestCase): @classmethod @@ -17,7 +30,7 @@ class MyTest(unittest.TestCase): def run_and_compare(self, input_path, expected_path, cflags=[]): with open(expected_path, 'r') as f: expected_output = f.read() - actual_output = run_header_checker(input_path, cflags) + actual_output = run_header_abi_dumper(input_path, True, cflags) self.assertEqual(actual_output, expected_output) def run_and_compare_name(self, name, cflags=[]): @@ -32,6 +45,30 @@ class MyTest(unittest.TestCase): self.run_and_compare_name(name, cflags) self.run_and_compare_name_cpp(name, cflags) + def run_and_compare_abi_diff(self, old_dump, new_dump, lib, arch, + expected_return_code, flags=[]) : + actual_output = run_abi_diff(old_dump, new_dump, arch, lib, flags) + self.assertEqual(actual_output, expected_return_code) + + def prepare_and_run_abi_diff(self, old_lib, new_lib, + target_arch, expected_return_code, flags=[]): + ref_dump_dir = os.path.join(REF_DUMP_DIR, target_arch) + old_ref_dump_path = os.path.join(ref_dump_dir, + old_lib + SOURCE_ABI_DUMP_EXT) + + new_ref_dump_path = os.path.join(ref_dump_dir, + new_lib + SOURCE_ABI_DUMP_EXT) + + self.run_and_compare_abi_diff(old_ref_dump_path, new_ref_dump_path, + new_lib, target_arch, + expected_return_code, flags) + + def prepare_and_run_abi_diff_all_archs(self, old_lib, new_lib, + expected_return_code, flags=[]): + for target_arch in TARGET_ARCHS: + self.prepare_and_run_abi_diff(old_lib, new_lib, target_arch, + expected_return_code, flags) + def test_func_decl_no_args(self): self.run_and_compare_name_c_cpp('func_decl_no_args.h') @@ -48,5 +85,97 @@ class MyTest(unittest.TestCase): self.run_and_compare_name_cpp('example1.h') self.run_and_compare_name_cpp('example2.h') + def test_libc_and_cpp(self): + self.prepare_and_run_abi_diff_all_archs("libc_and_cpp", "libc_and_cpp", + 0) + + def test_libc_and_cpp_and_libc_and_cpp_with_unused_struct(self): + self.prepare_and_run_abi_diff_all_archs( + "libc_and_cpp", "libc_and_cpp_with_unused_struct", 0) + + def test_libc_and_cpp_and_libc_and_cpp_with_unused_struct_allow(self): + self.prepare_and_run_abi_diff_all_archs( + "libc_and_cpp", "libc_and_cpp_with_unused_struct", 0, + ["-allow-unreferenced-changes"]) + + def test_libc_and_cpp_and_libc_and_cpp_with_unused_struct_check_all(self): + self.prepare_and_run_abi_diff_all_archs( + "libc_and_cpp", "libc_and_cpp_with_unused_struct", 1, + ['-check-all-apis']) + + def test_libc_and_cpp_and_libc_and_cpp_with_unused_struct_check_all_advice( + self): + self.prepare_and_run_abi_diff_all_archs( + "libc_and_cpp", "libc_and_cpp_with_unused_struct", 0, + ['-check-all-apis', '-advice-only']) + + def test_libgolden_cpp_return_type_diff(self): + self.prepare_and_run_abi_diff_all_archs( + "libgolden_cpp", "libgolden_cpp_return_type_diff", 8) + + def test_libgolden_cpp_add_function(self): + self.prepare_and_run_abi_diff_all_archs( + "libgolden_cpp", "libgolden_cpp_add_function", 4) + + def test_libgolden_cpp_change_function_access(self): + self.prepare_and_run_abi_diff_all_archs( + "libgolden_cpp", "libgolden_cpp_change_function_access", 8) + + def test_libgolden_cpp_add_global_variable(self): + self.prepare_and_run_abi_diff_all_archs( + "libgolden_cpp", "libgolden_cpp_add_global_variable", 4) + + def test_libgolden_cpp_parameter_type_diff(self): + self.prepare_and_run_abi_diff_all_archs( + "libgolden_cpp", "libgolden_cpp_parameter_type_diff", 8) + + + def test_libgolden_cpp_with_vtable_diff(self): + self.prepare_and_run_abi_diff_all_archs("libgolden_cpp", + "libgolden_cpp_vtable_diff", 8) + + def test_libgolden_cpp_member_diff_advice_only(self): + self.prepare_and_run_abi_diff_all_archs("libgolden_cpp", + "libgolden_cpp_member_diff", + 0, ['-advice-only']) + + def test_libgolden_cpp_member_diff(self): + self.prepare_and_run_abi_diff_all_archs("libgolden_cpp", + "libgolden_cpp_member_diff", 8) + + def test_libgolden_cpp_change_member_access(self): + self.prepare_and_run_abi_diff_all_archs( + "libgolden_cpp", "libgolden_cpp_change_member_access", 8) + + def test_libgolden_cpp_enum_extended(self): + self.prepare_and_run_abi_diff_all_archs("libgolden_cpp", + "libgolden_cpp_enum_extended", + 4) + def test_libgolden_cpp_enum_diff(self): + self.prepare_and_run_abi_diff_all_archs("libgolden_cpp", + "libgolden_cpp_enum_diff", 8) + + def test_libgolden_cpp_fabricated_function_ast_removed_diff(self): + self.prepare_and_run_abi_diff_all_archs( + "libgolden_cpp_fabricated_function_ast_removed", "libgolden_cpp", 0) + + def test_libgolden_cpp_member_fake_diff(self): + self.prepare_and_run_abi_diff_all_archs( + "libgolden_cpp", "libgolden_cpp_member_fake_diff", 0) + + def test_libgolden_cpp_member_integral_type_diff(self): + self.prepare_and_run_abi_diff_all_archs( + "libgolden_cpp", "libgolden_cpp_member_integral_type_diff", 8) + + def test_libgolden_cpp_member_cv_diff(self): + self.prepare_and_run_abi_diff_all_archs( + "libgolden_cpp", "libgolden_cpp_member_cv_diff", 8) + + def test_libgolden_cpp_unreferenced_elf_symbol_removed(self): + self.prepare_and_run_abi_diff_all_archs( + "libgolden_cpp", + "libgolden_cpp_unreferenced_elf_symbol_removed", 16) + + if __name__ == '__main__': unittest.main() diff --git a/vndk/tools/header-checker/tests/utils.py b/vndk/tools/header-checker/tests/utils.py deleted file mode 100644 index dc5e9149780d08aae49c185a9539b95520329c42..0000000000000000000000000000000000000000 --- a/vndk/tools/header-checker/tests/utils.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python3 - -import tempfile -import os -import subprocess - -SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__)) -AOSP_DIR = os.path.abspath(os.path.join(SCRIPT_DIR, *['..'] * 5)) - -BUILTIN_HEADERS_DIR = ( - os.path.join(AOSP_DIR, 'bionic', 'libc', 'include'), - os.path.join(AOSP_DIR, 'external', 'libcxx', 'include'), - os.path.join(AOSP_DIR, 'prebuilts', 'sdk', 'renderscript', 'clang-include'), -) - -EXPORTED_HEADERS_DIR = ( - os.path.join(AOSP_DIR, 'development', 'vndk', 'tools', 'header-checker', - 'tests'), -) - -def run_header_checker(input_path, cflags=[]): - with tempfile.TemporaryDirectory() as tmp: - output_name = os.path.join(tmp, os.path.basename(input_path)) + '.dump' - cmd = ['header-abi-dumper', '-o', output_name, input_path,] - for d in EXPORTED_HEADERS_DIR: - cmd += ['-I', d] - cmd+= ['--'] - for d in BUILTIN_HEADERS_DIR: - cmd += ['-isystem', d] - cmd += cflags - subprocess.check_call(cmd) - with open(output_name, 'r') as f: - return f.read().replace(SCRIPT_DIR, '.') diff --git a/vndk/tools/header-checker/utils/create_reference_dumps.py b/vndk/tools/header-checker/utils/create_reference_dumps.py new file mode 100755 index 0000000000000000000000000000000000000000..ca2eea155581ebd806f78502e01eea9627b9701e --- /dev/null +++ b/vndk/tools/header-checker/utils/create_reference_dumps.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python3 + +import os +import re +import sys +import argparse + +from utils import make_library +from utils import find_lib_lsdump +from utils import get_build_var +from utils import AOSP_DIR +from utils import read_output_content +from utils import copy_reference_dump + +class Target(object): + def __init__(self, has_2nd): + extra = '_2ND' if has_2nd else '' + self.arch = get_build_var('TARGET{}_ARCH'.format(extra)) + self.arch_variant = get_build_var('TARGET{}_ARCH_VARIANT'.format(extra)) + self.cpu_variant = \ + get_build_var('TARGET{}_CPU_VARIANT'.format(extra)) + +def get_vndk_libs(vndk_list_path): + with open(vndk_list_path, 'r') as f: + return f.read().splitlines() + +def create_source_abi_reference_dumps(soong_dir, vndk_libs, args): + ref_dump_dir_stem = os.path.join(args.ref_dump_dir, args.version) + ref_dump_dir_insertion = 'source-based' + num_libs_copied = 0 + for vndk_lib in vndk_libs: + if args.make_libs: + make_library(vndk_lib) + for target in [Target(True), Target(False)]: + arch_lsdump_path = find_lib_lsdump(vndk_lib, target.arch, + target.arch_variant, + target.cpu_variant) + # Copy the contents of the lsdump into it's corresponding + # reference directory. + num_libs_copied += copy_reference_dump(arch_lsdump_path, + ref_dump_dir_stem, + ref_dump_dir_insertion, + target.arch) + return num_libs_copied + + +def main(): + # Parse command line options. + parser = argparse.ArgumentParser() + parser.add_argument('--version', help='VNDK version') + parser.add_argument('--vndk-list', help='VNDK version') + parser.add_argument('-ref-dump-dir', help='VNDK reference abi dump dir') + parser.add_argument('-make-libs', action ="store_true", default = False, + help='make libraries before copying dumps') + args = parser.parse_args() + num_processed = 0 + soong_dir = os.path.join(AOSP_DIR, 'out', 'soong', '.intermediates') + num_processed += create_source_abi_reference_dumps(soong_dir,\ + get_vndk_libs(args.vndk_list), args) + print() + print('msg: Processed', num_processed, 'libraries') +if __name__ == '__main__': + main() diff --git a/vndk/tools/header-checker/utils/utils.py b/vndk/tools/header-checker/utils/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..a387974f05fdf32fef0eea8f678332aa2322f29f --- /dev/null +++ b/vndk/tools/header-checker/utils/utils.py @@ -0,0 +1,166 @@ +#!/usr/bin/env python3 + +import tempfile +import os +import subprocess + +SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__)) +AOSP_DIR = os.path.abspath(os.path.join(SCRIPT_DIR, *['..'] * 5)) + +BUILTIN_HEADERS_DIR = ( + os.path.join(AOSP_DIR, 'bionic', 'libc', 'include'), + os.path.join(AOSP_DIR, 'external', 'libcxx', 'include'), + os.path.join(AOSP_DIR, 'prebuilts', 'sdk', 'renderscript', 'clang-include'), +) + +EXPORTED_HEADERS_DIR = ( + os.path.join(AOSP_DIR, 'development', 'vndk', 'tools', 'header-checker', + 'tests'), +) + +SOURCE_ABI_DUMP_EXT = ".so.lsdump" + +TARGET_ARCHS = ['arm', 'arm64', 'x86', 'x86_64', 'mips', 'mips64'] + +def get_reference_dump_dir(reference_dump_dir_stem, + reference_dump_dir_insertion, lib_arch): + reference_dump_dir = os.path.join(reference_dump_dir_stem, lib_arch) + reference_dump_dir = os.path.join(reference_dump_dir, + reference_dump_dir_insertion) + return reference_dump_dir + +def copy_reference_dump(lib_path, reference_dump_dir_stem, + reference_dump_dir_insertion, lib_arch): + if lib_path is None: + return 0 + reference_dump_dir = get_reference_dump_dir(reference_dump_dir_stem, + reference_dump_dir_insertion, + lib_arch) + reference_dump_path = os.path.join(reference_dump_dir, + os.path.basename(lib_path)) + os.makedirs(os.path.dirname(reference_dump_path), exist_ok=True) + output_content = read_output_content(lib_path, AOSP_DIR) + with open(reference_dump_path, 'w') as f: + f.write(output_content) + print('Created abi dump at ', reference_dump_path) + return 1 + +def copy_reference_dump_content(lib_name, output_content, + reference_dump_dir_stem, + reference_dump_dir_insertion, lib_arch): + reference_dump_dir = get_reference_dump_dir(reference_dump_dir_stem, + reference_dump_dir_insertion, + lib_arch) + reference_dump_path = os.path.join(reference_dump_dir, + lib_name + SOURCE_ABI_DUMP_EXT) + os.makedirs(os.path.dirname(reference_dump_path), exist_ok=True) + with open(reference_dump_path, 'w') as f: + f.write(output_content) + print('Created abi dump at ', reference_dump_path) + return 1 + +def read_output_content(output_path, replace_str): + with open(output_path, 'r') as f: + return f.read().replace(replace_str, '') + +def run_header_abi_dumper(input_path, remove_absolute_paths, cflags=[], + export_include_dirs = EXPORTED_HEADERS_DIR): + with tempfile.TemporaryDirectory() as tmp: + output_path = os.path.join(tmp, os.path.basename(input_path)) + '.dump' + run_header_abi_dumper_on_file(input_path, output_path, + export_include_dirs, cflags) + with open(output_path, 'r') as f: + if remove_absolute_paths: + return read_output_content(output_path, AOSP_DIR) + else: + return f.read() + +def run_header_abi_dumper_on_file(input_path, output_path, + export_include_dirs = [], cflags =[]): + cmd = ['header-abi-dumper', '-o', output_path, input_path,] + for dir in export_include_dirs: + cmd += ['-I', dir] + cmd += ['--'] + cmd += cflags + for dir in BUILTIN_HEADERS_DIR: + cmd += ['-isystem', dir] + # export includes imply local includes + for dir in export_include_dirs: + cmd += ['-I', dir] + subprocess.check_call(cmd) + +def run_header_abi_linker(output_path, inputs, version_script, api, arch): + """Link inputs, taking version_script into account""" + with tempfile.TemporaryDirectory() as tmp: + cmd = ['header-abi-linker', '-o', output_path, '-v', version_script, + '-api', api, '-arch', arch] + cmd += inputs + subprocess.check_call(cmd) + with open(output_path, 'r') as f: + return read_output_content(output_path, AOSP_DIR) + +def make_library(lib_name): + # Create reference dumps for integration tests + make_cmd = ['make', '-j', lib_name] + subprocess.check_call(make_cmd, cwd=AOSP_DIR) + +def find_lib_lsdump(lib_name, target_arch, target_arch_variant, + target_cpu_variant): + """ Find the lsdump corresponding to lib_name for the given arch parameters + if it exists""" + assert 'ANDROID_PRODUCT_OUT' in os.environ + cpu_variant = '_' + target_cpu_variant + arch_variant = '_' + target_arch_variant + + if target_cpu_variant == 'generic' or target_cpu_variant is None or\ + target_cpu_variant == '': + cpu_variant = '' + if target_arch_variant == target_arch or target_arch_variant is None or\ + target_arch_variant == '': + arch_variant = '' + + target_dir = 'android_' + target_arch + arch_variant +\ + cpu_variant + '_shared_core' + soong_dir = os.path.join(AOSP_DIR, 'out', 'soong', '.intermediates') + expected_lsdump_name = lib_name + SOURCE_ABI_DUMP_EXT + for base, dirnames, filenames in os.walk(soong_dir): + for filename in filenames: + if filename == expected_lsdump_name: + path = os.path.join(base, filename) + if target_dir in os.path.dirname(path): + return path + return None + +def run_abi_diff(old_test_dump_path, new_test_dump_path, arch, lib_name, + flags=[]): + abi_diff_cmd = ['header-abi-diff', '-new', new_test_dump_path, '-old', + old_test_dump_path, '-arch', arch, '-lib', lib_name] + with tempfile.TemporaryDirectory() as tmp: + output_name = os.path.join(tmp, lib_name) + '.abidiff' + abi_diff_cmd += ['-o', output_name] + abi_diff_cmd += flags + try: + subprocess.check_call(abi_diff_cmd) + except subprocess.CalledProcessError as err: + return err.returncode + + return 0 + + +def get_build_var(name): + """Get build system variable for the launched target.""" + if 'ANDROID_PRODUCT_OUT' not in os.environ: + return None + + cmd = ['make', '--no-print-directory', '-f', 'build/core/config.mk', + 'dumpvar-' + name] + + environ = dict(os.environ) + environ['CALLED_FROM_SETUP'] = 'true' + environ['BUILD_SYSTEM'] = 'build/core' + + proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, env=environ, + cwd=AOSP_DIR) + out, err = proc.communicate() + return out.decode('utf-8').strip()