[libvirt] [PATCH] build: avoid requiring -lm

Dave Allan dallan at redhat.com
Tue Jul 12 01:37:22 UTC 2011


On Mon, Jul 11, 2011 at 05:29:24PM -0600, Eric Blake wrote:
> log2() is heavy when ffs() can do the same thing.  But ffs()
> requires gnulib support for mingw.
> 
> * .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.
> ---
> 
> Pushing under the build-breaker rule, as I reproduced the log2
> failure on F14.

Thanks, that fixes it for me.

Dave

> * .gnulib 56005a2...a918da4 (28):
>   > ffs: new module
>   > * ChangeLog: Fix typo.
>   > regex: avoid compiler warning
>   > stdint: respect system's intmax_t if INTMAX_MAX
>   > pthread_sigmask tests: Avoid a compiler warning.
>   > sigprocmask tests: A better way to avoid a compiler warning.
>   > pthread_sigmask: Work around IRIX bug.
>   > pthread_sigmask: Work around Cygwin bug.
>   > pthread_sigmask: Work around bug in single-threaded implementation.
>   > test-sigprocmask: avoid compiler warning
>   > test-snprintf: avoid compiler warning
>   > Tests for module 'pthread_sigmask'.
>   > test-getopt.h: avoid warning about an unused variable
>   > maint: reduce list of files exempt from sc_prohibit_leading_TABs
>   > pthread_sigmask: Assume POSIX when not gl_THREADLIB.
>   > pthread_sigmask: fix typo when testing for libraries
>   > fts: introduce FTS_NOATIME
>   > Tests for module 'thread'.
>   > thread: Avoid gcc warnings when using gl_thread_self().
>   > signal-c++-tests: Check declaration of pthread_sigmask.
>   > pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
>   > pthread_sigmask: Ensure declaration in <signal.h> also on Solaris 2.6.
>   > pthread_sigmask: Ensure declaration in <signal.h>.
>   > pthread_sigmask: Document the module.
>   > pthread_sigmask: Follow gnulib conventions.
>   > pthread_sigmask: Make declaration C++ safe.
>   > pthread_sigmask: Fix return value.
>   > getopt: more portable argv creation
> 
>  .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 56005a2..a918da4 160000
> --- a/.gnulib
> +++ b/.gnulib
> @@ -1 +1 @@
> -Subproject commit 56005a21e8f9f434212a19dcb628c6d3b179fd08
> +Subproject commit a918da4d61d28be61a12605c9d35e2cf3966d866
> diff --git a/bootstrap.conf b/bootstrap.conf
> index a800534..3c3d0e0 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 3cf7f44..d75a266 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -29,7 +29,7 @@
>  #include <fcntl.h>
>  #include <dirent.h>
>  #include <sys/time.h>
> -#include <math.h>
> +#include <strings.h>
> 
>  #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;
> -- 
> 1.7.4.4
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list




More information about the libvir-list mailing list