[Buildroot] [PATCH v2 07/11] package/flex: disable reallocarray
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Sun Sep 3 07:14:32 UTC 2017
Hello,
On Sun, 3 Sep 2017 00:23:40 +0200, Romain Naour wrote:
> > This commit log is a bit mysterious: if reallocarray() has been
> > introduced in glibc 2.26, why isn't flex able to use it ?
>
> It's a nasty issue, when reallocarray() is available for the target, flex will
> build a small tool called stage1flex for the host (using _FOR_BUILD) but with
> the config.h generated for the target.
>
> My host doesn't have glibc 2.26, so reallocarray() is never defined while
> building stage1flex:
>
> misc.c:147:8: warning : implicit declaration of function « reallocarray »
> [-Wimplicit-function-declaration]
> mem = reallocarray(NULL, (size_t) size, element_size);
> ^~~~~~~~~~~~
> misc.c:147:6: warning : assignment makes pointer from integer without a cast
> [-Wint-conversion]
> mem = reallocarray(NULL, (size_t) size, element_size);
> ^
>
> I don't know how to fix this, except by disabling reallocarray() for the target...
This should all be explained in the commit log, and a short comment in
flex.mk should be added as well.
Generally speaking, the commit logs in this series are too terse: they
just say "fix build with glibc 2.26" with no explanations, or they
backport some seemingly random glibc patches, without explaining why
they are needed. Could you improve this a bit ?
Thanks a lot!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
More information about the buildroot
mailing list