mirror of
git://sourceware.org/git/libabigail.git
synced 2025-02-13 03:57:33 +00:00
The for now, the underlying type of an enum type is always assumed to be anonymous by libabigail. But then, the code of the DWARF reader was failing to set the "is-anonymous" flag on it. So type canonicalizing code was comparing the enum underlying types by looking at their names; they all have the same name -- as we forget that they are anonymous; so they (wrongly) all look the same, within the same ABI corpus. This patch sets properly sets the is-anonymous flag on enumerator underlying types again. * src/abg-dwarf-raeder.cc (build_enum_type): Set the is-anonymous flag on the underlying type of the enum. * tests/data/test-read-dwarf/test0.abi: Adjust. * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise. * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise. * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise. * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise. * tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise. * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise. * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise. * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise. * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise. * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise. * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi: Likewise. Signed-off-by: Dodji Seketeli <dodji@redhat.com>
73 lines
5.3 KiB
Plaintext
73 lines
5.3 KiB
Plaintext
<abi-corpus path='data/test-read-dwarf/test0'>
|
|
<elf-needed>
|
|
<dependency name='libstdc++.so.6'/>
|
|
<dependency name='libm.so.6'/>
|
|
<dependency name='libgcc_s.so.1'/>
|
|
<dependency name='libc.so.6'/>
|
|
</elf-needed>
|
|
<elf-function-symbols>
|
|
<elf-symbol name='_ZN3ns03barEiz' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZN3ns03bazERi' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZN3ns03fooEPcl' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZN3ns04bar2ERNS_1EE' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='_ZN3ns04baz2ERi' 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='__libc_csu_init' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='_fini' 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='main' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
</elf-function-symbols>
|
|
<elf-variable-symbols>
|
|
<elf-symbol name='_IO_stdin_used' type='object-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='__TMC_END__' type='object-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='__dso_handle' type='object-type' binding='global-binding' is-defined='yes'/>
|
|
<elf-symbol name='global' type='object-type' binding='global-binding' is-defined='yes'/>
|
|
</elf-variable-symbols>
|
|
<abi-instr version='1.0' address-size='64' path='test0.cc' language='LANG_C_plus_plus'>
|
|
<namespace-decl name='ns0'>
|
|
<function-decl name='bar' mangled-name='_ZN3ns03barEiz' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='12' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN3ns03barEiz'>
|
|
<parameter type-id='type-id-1'/>
|
|
<parameter is-variadic='yes'/>
|
|
<return type-id='type-id-2'/>
|
|
</function-decl>
|
|
<function-decl name='baz' mangled-name='_ZN3ns03bazERi' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='16' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN3ns03bazERi'>
|
|
<parameter type-id='type-id-3'/>
|
|
<return type-id='type-id-2'/>
|
|
</function-decl>
|
|
<enum-decl name='E' id='type-id-4'>
|
|
<underlying-type type-id='type-id-5'/>
|
|
<enumerator name='e0' value='0'/>
|
|
<enumerator name='e1' value='1'/>
|
|
</enum-decl>
|
|
<function-decl name='bar2' mangled-name='_ZN3ns04bar2ERNS_1EE' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN3ns04bar2ERNS_1EE'>
|
|
<parameter type-id='type-id-6'/>
|
|
<return type-id='type-id-2'/>
|
|
</function-decl>
|
|
<typedef-decl name='long_long' type-id='type-id-7' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='25' column='1' id='type-id-8'/>
|
|
<function-decl name='baz2' mangled-name='_ZN3ns04baz2ERi' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN3ns04baz2ERi'>
|
|
<parameter type-id='type-id-3'/>
|
|
<return type-id='type-id-8'/>
|
|
</function-decl>
|
|
<function-decl name='foo' mangled-name='_ZN3ns03fooEPcl' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN3ns03fooEPcl'>
|
|
<parameter type-id='type-id-9'/>
|
|
<parameter type-id='type-id-10'/>
|
|
<return type-id='type-id-10'/>
|
|
</function-decl>
|
|
</namespace-decl>
|
|
<type-decl name='void' id='type-id-2'/>
|
|
<type-decl name='int' size-in-bits='32' id='type-id-1'/>
|
|
<reference-type-def kind='lvalue' type-id='type-id-1' size-in-bits='64' id='type-id-3'/>
|
|
<type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-5'/>
|
|
<reference-type-def kind='lvalue' type-id='type-id-4' size-in-bits='64' id='type-id-6'/>
|
|
<type-decl name='long long int' size-in-bits='64' id='type-id-7'/>
|
|
<type-decl name='long int' size-in-bits='64' id='type-id-10'/>
|
|
<type-decl name='char' size-in-bits='8' id='type-id-11'/>
|
|
<pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-9'/>
|
|
<function-decl name='main' mangled-name='main' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='main'>
|
|
<return type-id='type-id-1'/>
|
|
</function-decl>
|
|
<var-decl name='global' type-id='type-id-1' mangled-name='global' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test0.cc' line='3' column='1' elf-symbol-id='global'/>
|
|
</abi-instr>
|
|
</abi-corpus>
|