mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-30 05:42:05 +00:00
5350583ec1
* src/abg-dwarf-reader.cc (get_scope_for_die): If the DIE has a DW_AT_specification or DW_AT_abstract_origin attribute, get the scope of the referred-to DIE. (build_ir_node_from_die): For a variable DIE that has a DW_AT_{specification,abstract_origin} attribute, do not add the built variable IR node to its scope because it is already in a scope. It's in a scope because that built variable is for the DIE that is referred-to by the DW_AT_{specification,abstract_origin} attribute. Likewise for member functions. Also, now, get_scope_for_die can return a class for a function DIE because get_scope_for_die now returns the *logical* scope of the DIE; that is, it follows DW_AT_{specification,abstract_origin} attributes. * tests/data/test-read-dwarf/test1.abi: Adjust. Signed-off-by: Dodji Seketeli <dodji@redhat.com>
112 lines
9.4 KiB
Plaintext
112 lines
9.4 KiB
Plaintext
<abi-corpus path='data/test-read-dwarf/test1'>
|
|
<elf-function-symbols>
|
|
<elf-symbol name='_ZN2b0C2Ev' type='func-type' binding='weak-binding' alias='_ZN2b0C1Ev' is-defined='yes'/>
|
|
<elf-symbol name='_fini' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZN2s0C1Ev' type='func-type' binding='weak-binding' is-defined='yes'/>
|
|
<elf-symbol name='_Z3fooR2s0' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZN2s07mem_funEv' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='_init' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='_start' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='__libc_csu_init' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='__libc_csu_fini' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZN2b1C2Ev' type='func-type' binding='weak-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZN2s0D1Ev' type='func-type' binding='weak-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZN2b0C1Ev' type='func-type' binding='weak-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZN2b1C1Ev' type='func-type' binding='weak-binding' alias='_ZN2b1C2Ev' is-defined='yes'/>
|
|
<elf-symbol name='main' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
</elf-function-symbols>
|
|
<elf-variable-symbols>
|
|
<elf-symbol name='_ZTT2s0' type='object-type' binding='weak-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZTV2s0' type='object-type' binding='weak-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZTS2b0' type='object-type' binding='weak-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3' type='object-type' binding='weak-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZTS2s0' type='object-type' binding='weak-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZTI2b1' type='object-type' binding='weak-binding' is-defined='yes'/>
|
|
<elf-symbol name='_IO_stdin_used' type='object-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZTI2s0' type='object-type' binding='weak-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZTS2b1' type='object-type' binding='weak-binding' is-defined='yes'/>
|
|
<elf-symbol name='__dso_handle' type='object-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZTI2b0' type='object-type' binding='weak-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3' type='object-type' binding='weak-binding' is-defined='yes'/>
|
|
<elf-symbol name='__TMC_END__' type='object-type' binding='global-binding' is-defined='yes'/>
|
|
</elf-variable-symbols>
|
|
<abi-instr version='1.0' address-size='64' path='test1.cc'>
|
|
<class-decl name='b0' size-in-bits='128' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='1' column='1' id='type-id-1'>
|
|
<data-member access='public' layout-offset-in-bits='0'>
|
|
<var-decl name='m0' type-id='type-id-2' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='3' column='1'/>
|
|
</data-member>
|
|
<data-member access='public' layout-offset-in-bits='64'>
|
|
<var-decl name='m1' type-id='type-id-3' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='4' column='1'/>
|
|
</data-member>
|
|
</class-decl>
|
|
<type-decl name='long long int' size-in-bits='64' alignment-in-bits='64' id='type-id-2'/>
|
|
<type-decl name='char' size-in-bits='8' alignment-in-bits='8' id='type-id-3'/>
|
|
<class-decl name='b1' size-in-bits='128' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='7' column='1' id='type-id-4'>
|
|
<data-member access='public' layout-offset-in-bits='0'>
|
|
<var-decl name='m0' type-id='type-id-5' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='9' column='1'/>
|
|
</data-member>
|
|
<data-member access='public' layout-offset-in-bits='64'>
|
|
<var-decl name='m1' type-id='type-id-3' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='10' column='1'/>
|
|
</data-member>
|
|
</class-decl>
|
|
<type-decl name='double' size-in-bits='64' alignment-in-bits='64' id='type-id-5'/>
|
|
<class-decl name='s0' size-in-bits='384' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='13' column='1' id='type-id-6'>
|
|
<base-class access='public' layout-offset-in-bits='24' is-virtual='yes' type-id='type-id-1'/>
|
|
<base-class access='public' layout-offset-in-bits='32' is-virtual='yes' type-id='type-id-4'/>
|
|
<member-type access='public'>
|
|
<typedef-decl name='integer' type-id='type-id-8' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='15' column='1' id='type-id-7'/>
|
|
</member-type>
|
|
<member-type access='public'>
|
|
<typedef-decl name='byte' type-id='type-id-10' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='16' column='1' id='type-id-9'/>
|
|
</member-type>
|
|
<data-member access='public' layout-offset-in-bits='64'>
|
|
<var-decl name='m0' type-id='type-id-7' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='18' column='1'/>
|
|
</data-member>
|
|
<data-member access='public' layout-offset-in-bits='96'>
|
|
<var-decl name='m1' type-id='type-id-9' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='19' column='1'/>
|
|
</data-member>
|
|
<member-function access='public' constructor='yes'>
|
|
<function-decl name='s0' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='21' column='1' visibility='default' binding='global' size-in-bits='64' alignment-in-bits='64'>
|
|
<parameter type-id='type-id-11' is-artificial='yes'/>
|
|
<parameter type-id='type-id-8' is-artificial='yes'/>
|
|
</function-decl>
|
|
</member-function>
|
|
<member-function access='public' destructor='yes'>
|
|
<function-decl name='~s0' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='27' column='1' visibility='default' binding='global' size-in-bits='64' alignment-in-bits='64'>
|
|
<parameter type-id='type-id-11' is-artificial='yes'/>
|
|
<parameter type-id='type-id-8' is-artificial='yes'/>
|
|
</function-decl>
|
|
</member-function>
|
|
<member-function access='public'>
|
|
<function-decl name='mem_fun' mangled-name='_ZN2s07mem_funEv' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='36' column='1' visibility='default' binding='global' size-in-bits='64' alignment-in-bits='64' elf-symbol-id='_ZN2s07mem_funEv'>
|
|
<parameter type-id='type-id-11' is-artificial='yes'/>
|
|
<return type-id='type-id-7'/>
|
|
</function-decl>
|
|
</member-function>
|
|
<member-function access='public' constructor='yes'>
|
|
<function-decl name='s0' mangled-name='_ZN2s0C1Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='21' column='1' visibility='default' binding='global' size-in-bits='64' alignment-in-bits='64' elf-symbol-id='_ZN2s0C1Ev'>
|
|
<parameter type-id='type-id-11' is-artificial='yes'/>
|
|
<parameter type-id='type-id-8' is-artificial='yes'/>
|
|
</function-decl>
|
|
</member-function>
|
|
<member-function access='public' destructor='yes'>
|
|
<function-decl name='~s0' mangled-name='_ZN2s0D1Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='27' column='1' visibility='default' binding='global' size-in-bits='64' alignment-in-bits='64' elf-symbol-id='_ZN2s0D1Ev'>
|
|
<parameter type-id='type-id-11' is-artificial='yes'/>
|
|
<parameter type-id='type-id-8' is-artificial='yes'/>
|
|
</function-decl>
|
|
</member-function>
|
|
</class-decl>
|
|
<type-decl name='int' size-in-bits='32' alignment-in-bits='32' id='type-id-8'/>
|
|
<type-decl name='unsigned char' size-in-bits='8' alignment-in-bits='8' id='type-id-10'/>
|
|
<pointer-type-def type-id='type-id-6' size-in-bits='64' alignment-in-bits='64' id='type-id-11'/>
|
|
<reference-type-def kind='lvalue' type-id='type-id-6' size-in-bits='64' alignment-in-bits='64' id='type-id-12'/>
|
|
<qualified-type-def type-id='type-id-12' const='yes' id='type-id-13'/>
|
|
<function-decl name='foo' mangled-name='_Z3fooR2s0' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='42' column='1' visibility='default' binding='global' size-in-bits='64' alignment-in-bits='64' elf-symbol-id='_Z3fooR2s0'>
|
|
<parameter type-id='type-id-13' name='s' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='42' column='1'/>
|
|
</function-decl>
|
|
<function-decl name='main' mangled-name='main' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='48' column='1' visibility='default' binding='global' size-in-bits='64' alignment-in-bits='64' elf-symbol-id='main'>
|
|
<return type-id='type-id-8'/>
|
|
</function-decl>
|
|
</abi-instr>
|
|
</abi-corpus>
|