mirror of
git://sourceware.org/git/libabigail.git
synced 2025-02-13 03:57:33 +00:00
In change reports for function sub-type changes, for the C language, when the name of the function is different from its linkage name, even when the function symbol has no aliases, show the symbol information of the function. * include/abg-ir.h (translation_unit::language): New enum type. (translation_unit::{get_language, set_language}): Declare new accessors. (translation_unit_language_to_string) (string_to_translation_unit_language, is_c_language) (is_cplus_plus_language): Declare new functions. * src/abg-ir.cc (translation_unit::priv::language_): New data member. (translation_unit::priv::language_): Initialize it. (translation_unit::{set_language, get_language}): Define new member functions. (translation_unit_language_to_string) (string_to_translation_unit_language, is_c_language) (is_cplus_plus_language): Define new functions. * src/abg-dwarf-reader.cc (dwarf_language_to_tu_language): New static function. (build_translation_unit_and_add_to_ir): Read the language of the translation unit. * src/abg-comparison.cc (corpus_diff::report): When reporting a change in a function sub-type, if we are in C language translation unit, if the function name is different from its linkage name, even if the symbol doesn't have any alias, show symbol information. * src/abg-reader.cc (read_translation_unit_from_input): Read the 'language' property of the translation unit, if present. * src/abg-writer.cc (write_translation_unit): Write the 'language' property to the translation unit, if present. * tests/data/test-read-dwarf/test0.abi: Adjust for the new 'language' property of the 'abi-instr' element. * tests/data/test-read-dwarf/test1.abi: Likewise. * tests/data/test-read-dwarf/test2.so.abi: Likewise. * tests/data/test-read-dwarf/test3.so.abi: Likewise. * tests/data/test-read-dwarf/test4.so.abi: Likewise. * tests/data/test-read-dwarf/test5.o.abi: Likewise. * tests/data/test-read-dwarf/test6.so.abi: Likewise. * tests/data/test-read-dwarf/test7.so.abi: Likewise. * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.abi: Likewise. Signed-off-by: Dodji Seketeli <dodji@redhat.com>
61 lines
3.8 KiB
Plaintext
61 lines
3.8 KiB
Plaintext
<abi-corpus path='data/test-read-dwarf/test7.so'>
|
|
<elf-function-symbols>
|
|
<elf-symbol name='_Z3fooR1S' type='func-type' binding='global-binding' is-defined='yes'/>
|
|
</elf-function-symbols>
|
|
<abi-instr version='1.0' address-size='64' path='test7.cc' language='LANG_C_plus_plus'>
|
|
<type-decl name='int' size-in-bits='32' id='type-id-1'/>
|
|
<class-decl name='S' size-in-bits='2304' is-struct='yes' visibility='default' filepath='/home/ooprala/rh/u/libabigail/tests/data/test-read-dwarf/test7.cc' line='1' column='1' id='type-id-2'>
|
|
<data-member access='public' layout-offset-in-bits='0'>
|
|
<var-decl name='a' type-id='type-id-3' visibility='default' filepath='/home/ooprala/rh/u/libabigail/tests/data/test-read-dwarf/test7.cc' line='3' column='1'/>
|
|
</data-member>
|
|
<data-member access='public' layout-offset-in-bits='192'>
|
|
<var-decl name='b' type-id='type-id-4' visibility='default' filepath='/home/ooprala/rh/u/libabigail/tests/data/test-read-dwarf/test7.cc' line='4' column='1'/>
|
|
</data-member>
|
|
<data-member access='public' layout-offset-in-bits='640'>
|
|
<var-decl name='c' type-id='type-id-5' visibility='default' filepath='/home/ooprala/rh/u/libabigail/tests/data/test-read-dwarf/test7.cc' line='5' column='1'/>
|
|
</data-member>
|
|
<data-member access='public' layout-offset-in-bits='1600'>
|
|
<var-decl name='d' type-id='type-id-6' visibility='default' filepath='/home/ooprala/rh/u/libabigail/tests/data/test-read-dwarf/test7.cc' line='6' column='1'/>
|
|
</data-member>
|
|
<data-member access='public' layout-offset-in-bits='2240'>
|
|
<var-decl name='e' type-id='type-id-7' visibility='default' filepath='/home/ooprala/rh/u/libabigail/tests/data/test-read-dwarf/test7.cc' line='7' column='1'/>
|
|
</data-member>
|
|
<data-member access='public' layout-offset-in-bits='2248'>
|
|
<var-decl name='f' type-id='type-id-8' visibility='default' filepath='/home/ooprala/rh/u/libabigail/tests/data/test-read-dwarf/test7.cc' line='8' column='1'/>
|
|
</data-member>
|
|
</class-decl>
|
|
<array-type-def dimensions='1' type-id='type-id-1' size-in-bits='160' id='type-id-3'>
|
|
<subrange length='5'/>
|
|
</array-type-def>
|
|
<type-decl name='char' size-in-bits='8' id='type-id-9'/>
|
|
<pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-10'/>
|
|
<array-type-def dimensions='1' type-id='type-id-10' size-in-bits='448' id='type-id-4'>
|
|
<subrange length='7'/>
|
|
</array-type-def>
|
|
<type-decl name='double' size-in-bits='64' id='type-id-11'/>
|
|
<array-type-def dimensions='2' type-id='type-id-11' size-in-bits='512' id='type-id-5'>
|
|
<subrange length='5'/>
|
|
<subrange length='3'/>
|
|
</array-type-def>
|
|
<pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-12'/>
|
|
<array-type-def dimensions='1' type-id='type-id-12' size-in-bits='256' id='type-id-13'>
|
|
<subrange length='4'/>
|
|
</array-type-def>
|
|
<pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-14'/>
|
|
<array-type-def dimensions='1' type-id='type-id-14' size-in-bits='640' id='type-id-6'>
|
|
<subrange length='10'/>
|
|
</array-type-def>
|
|
<array-type-def dimensions='1' type-id='type-id-9' size-in-bits='8' id='type-id-7'>
|
|
<subrange length='1'/>
|
|
</array-type-def>
|
|
<array-type-def dimensions='1' type-id='type-id-9' size-in-bits='infinite' id='type-id-8'>
|
|
<subrange length='infinite'/>
|
|
</array-type-def>
|
|
<reference-type-def kind='lvalue' type-id='type-id-2' size-in-bits='64' id='type-id-15'/>
|
|
<function-decl name='foo' mangled-name='_Z3fooR1S' filepath='/home/ooprala/rh/u/libabigail/tests/data/test-read-dwarf/test7.cc' line='11' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3fooR1S'>
|
|
<parameter type-id='type-id-15'/>
|
|
<return type-id='type-id-1'/>
|
|
</function-decl>
|
|
</abi-instr>
|
|
</abi-corpus>
|