From 5468594f4655d20674a9429a0671f6afa3538274 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Fri, 5 Oct 2012 14:57:36 +0200 Subject: [PATCH] Check for private symbols presence as well Currently, we are checking if libvirt.so contains public symbols. However, sometimes we rename an internal symbol and forget to change libvirt_private.syms accordingly. Hence, it's safer to check for internal symbols as well. --- src/Makefile.am | 7 ++++++- src/check-symfile.pl | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index ae3d491cad..c5840c064c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -318,8 +318,13 @@ if WITH_LINUX check-symfile: libvirt.syms libvirt.la $(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt.syms \ .libs/libvirt.so + +check-private-symfile: libvirt_private.syms libvirt.la + $(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt_private.syms \ + .libs/libvirt.so else check-symfile: +check-private-symfile: endif PROTOCOL_STRUCTS = \ @@ -344,7 +349,7 @@ else !WITH_REMOTE check-protocol: endif EXTRA_DIST += $(PROTOCOL_STRUCTS) check-symfile.pl -check-local: check-protocol check-symfile +check-local: check-protocol check-symfile check-private-symfile .PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct) # Mock driver, covering domains, storage, networks, etc diff --git a/src/check-symfile.pl b/src/check-symfile.pl index ac37b4614b..435e04537b 100755 --- a/src/check-symfile.pl +++ b/src/check-symfile.pl @@ -44,7 +44,7 @@ foreach my $elflib (@elflibs) { close NM; } -foreach my $sym (@wantsyms) { +foreach my $sym (keys(%wantsyms)) { next if exists $gotsyms{$sym}; print STDERR "Expected symbol $sym is not in ELF library\n";