[libvirt] [PATCH] Add a test case that checks there are no bogus entries in .syms

Laine Stump laine at laine.org
Tue Jul 24 19:52:21 UTC 2012

On 07/24/2012 09:48 AM, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
> During refactoring of code, it has proved common to forget to
> remove old symbols from the .syms file. While the Win32 linker
> will complain about this, the Linux ELF linker does not. The
> new test case validates that every symbol listed in the .syms
> file actually exists in the built ELF libraries.

And apparently it works - it found the following three unimplemented
functions in a fresh checkout from master:

    GEN    check-symfile
  Expected symbol virNetClientSetEOFNotify is not in ELF library
  Expected symbol virNWFilterGetIpAddrForIfname is not in ELF library
  Expected symbol virNWFilterDelIpAddrForIfname is not in ELF library
  make[2]: *** [check-symfile] Error 1

It would be even nicer if it 1) verified that each symbol was defined in
the proper symfile for its library, and 2) was able to check even those
libraries that weren't built for the given platform, but (1) isn't
really practical, since we currently mix a lot of stuff together in
libvirt_private.syms, and I can't think of a reasonable way to do (2).

ACK (assuming that anything that causes it to fail is fixed in git
first, of course).

More information about the libvir-list mailing list