libabigail/tests/data/test-diff-dwarf/test12-v1.c
Dodji Seketeli b13345fd86 Take symbol versions in account when computing added/removed decls
* include/abg-corpus.h
	(corpus::lookup_{function,variable}_symbol): Add an overload
	declaration that takes the version of the symbol to lookup.
	* src/abg-comparison.cc
	(corpus_diff::priv::ensure_lookup_tables_populated): So when looking
	up the corpora for symbols, take their versions in account.
	* src/abg-corpus.cc (corpus::lookup_{function,variable}_symbol):
	Add an overload definition that takes the version of the symbol to
	lookup.
	(symtab_build_visitor_type::build_id): New
	member functions.
	(corpus::priv::build_public_decl_table): Use the new member
	functions above.
	* src/abg-ir.cc (elf_symbol::version::operator==): Do not take the
	is_default flag in account when comparing two symbol versions.
	* libtest12-v{0,1}.so: New test input files.
	* libtest12-v{0,1}.c: Source code for the test input files.
	* test12-version-script: Version script to build the files above.
	* test12-report.txt: Test input file.
	* tests/Makefile.am: Add the new test input files above to the
	source distribution.
	* tests/test-diff-dwarf.cc (in_out_specs[]): Add an entry to this
	table for the new test input files.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2014-08-25 23:16:50 +02:00

18 lines
347 B
C

/* To compile this, type:
gcc -shared -Wl,--version-script=test12-version-script -o libtest12-v1.so test12-v1.c
*/
int
_foo1(int v)
{return v + 1;}
asm(".symver _foo1,foo@VERSION_1.0");
int
_foo2(int v)
{return v + 2;}
asm(".symver _foo2,foo@VERSION_2.0");
int
_foo3(int v, int w)
{return v + w + !2;}
asm(".symver _foo3,foo@@VERSION_3.0");