[libvirt] [PATCH] build: trivial fix error: implicit declaration of function 'malloc'
ncopa at alpinelinux.org
Thu Nov 22 13:46:51 UTC 2012
On Thu, 22 Nov 2012 13:36:14 +0000
"Daniel P. Berrange" <berrange at redhat.com> wrote:
> On Thu, Nov 22, 2012 at 01:28:08PM +0100, Natanael Copa wrote:
> > Fixes this error when building with -Werror on Alpine Linux:
> > --- a/src/util/processinfo.c
> > +++ b/src/util/processinfo.c
> > @@ -21,6 +21,7 @@
> > #include <config.h>
> > +#include <stdlib.h>
> > #include <sched.h>
> > #include "processinfo.h"
> Let me guess, this is a failure seen with uclibc too ? The line
> that warning corresponds to is
> mask = CPU_ALLOC(numcpus);
> On glibc this is defined to a function _sched_cpualloc(), hence
> we don't see a warning.
> If your headers are defining this in terms of malloc(), then IMHO,
> the sched.h should be including stdlib.h on our behalf. IOW, I
> think this is a bug in the c library headers
You are right. uclibc does this:
#if 0 /* in uClibc we use macros */
extern cpu_set_t *__sched_cpualloc (size_t __count) __THROW __wur;
extern void __sched_cpufree (cpu_set_t *__set) __THROW;
# define __sched_cpualloc(cnt) ((cpu_set_t *)malloc(__CPU_ALLOC_SIZE(cnt)))
# define __sched_cpufree(__set) free(__set)
And since this is only a warning, I don't think its worth the effort.
More information about the libvir-list