[libvirt] [PATCH] Check for private symbols presence as well

Eric Blake eblake at redhat.com
Fri Oct 5 14:50:54 UTC 2012


On 10/05/2012 08:42 AM, Eric Blake wrote:
> On 10/05/2012 07:05 AM, Michal Privoznik wrote:
>> 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(-)
>>
> 
> Phooey.  I had only tested in-tree builds when I gave ack.
> 
>>  check-symfile: libvirt.syms libvirt.la
>>  	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt.syms \
>>  	  .libs/libvirt.so
> 
> This works in VPATH builds, since libvirt.syms is version-controlled...
> 
>> +
>> +check-private-symfile: libvirt_private.syms libvirt.la
>> +	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt_private.syms \
>> +	  .libs/libvirt.so
> 
> ...but this fails in a VPATH build, since libvirt_private.syms is
> generated into builddir.  I'm working on a followup.

I got that backwards.  libvirt.syms is generated, and in builddir, and
_includes_ all of libvirt_public.syms AND libvirt_private.syms.
libvirt_private.syms is in srcdir only, so the VPATH build is failing to
find it. The reason that your patch "worked" at detecting the failure is
not because of the new makefile rule, but because of the fix to use
keys(%wantsyms) instead of @wantsyms in the perl script, where
check-symfile, rather than the new check-private-symfile, was detecting
the error.

-- 
Eric Blake   eblake at redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 617 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20121005/dfa8c2ec/attachment-0001.sig>


More information about the libvir-list mailing list