From df94811f7165fbb78b5f8a10360664c1bd23d7d1 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Mon, 11 Jul 2011 17:22:20 -0600 Subject: [PATCH] build: avoid requiring -lm log2() is heavy when ffs() can do the same thing. But ffs() requires gnulib support for mingw. This patch solves this linker error on Fedora 14. /usr/bin/ld: libvirt_lxc-domain_conf.o: undefined reference to symbol 'log2@@GLIBC_2.2.5' /usr/bin/ld: note: 'log2@@GLIBC_2.2.5' is defined in DSO /lib64/libm.so.6 so try adding it to the linker command line /lib64/libm.so.6: could not read symbols: Invalid operation collect2: ld returned 1 exit status * .gnulib: Update to latest, for ffs. * bootstrap.conf (gnulib_modules): Import ffs. * src/conf/domain_conf.c (virDomainDefParseXML): Use ffs instead of log2. Reported by Dave Allan. --- .gnulib | 2 +- bootstrap.conf | 1 + src/conf/domain_conf.c | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gnulib b/.gnulib index 56005a21e8..a918da4d61 160000 --- a/.gnulib +++ b/.gnulib @@ -1 +1 @@ -Subproject commit 56005a21e8f9f434212a19dcb628c6d3b179fd08 +Subproject commit a918da4d61d28be61a12605c9d35e2cf3966d866 diff --git a/bootstrap.conf b/bootstrap.conf index a800534908..3c3d0e07de 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -36,6 +36,7 @@ count-one-bits crypto/md5 dirname-lgpl fcntl-h +ffs fnmatch func getaddrinfo diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 3cf7f44217..d75a2669c1 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include "virterror_internal.h" #include "datatypes.h" @@ -5865,7 +5865,7 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps, virDomainReportError(VIR_ERR_INTERNAL_ERROR, _("unexpected domain type %s, expecting %s"), virDomainVirtTypeToString(def->virtType), - virDomainVirtTypeToString(log2(expectedVirtTypes))); + virDomainVirtTypeToString(ffs(expectedVirtTypes) - 1)); } else { virBuffer buffer = VIR_BUFFER_INITIALIZER; char *string; -- GitLab