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.
This commit is contained in:
Michal Privoznik 2012-10-05 14:57:36 +02:00
parent a9087ad16d
commit 5468594f46
2 changed files with 7 additions and 2 deletions

View File

@ -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

View File

@ -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";