[Buildroot] [PATCH] package/dhcpdump: fix build at -O2

Thomas Petazzoni thomas.petazzoni at bootlin.com
Fri Dec 28 10:52:04 UTC 2018


On Thu, 27 Dec 2018 16:10:11 +0100, Thomas Petazzoni wrote:
> Since commit aa556e2035c023d4328185a46e15df532e566067
> ("utils/genrandconfig: test with BR2_OPTIMIZE_2=y"), we are doing
> builds at -O2 instead of -Os. This has unveiled an issue in the
> strsep.c file:
> strsep.c:65:23: error: register name not specified for 'delim'
>   register const char *delim;
> This strsep.c compatibility code is compiled in if HAVE_STRSEP is not
> defined, but dhcpdump does not use any kind of configure script to
> detect the availability of strsep(). Therefore by default, it gets
> compiled in, and the "register" specifier used for some variable
> declarations in strsep.c cause build issues at -O2.
> A previous commit in Buildroot from
> c2a7f0d6051f71f3bb9d83b574d70814339e4b95 ("dhcpdump: Fix strsep()
> feature test"), attempted to fix this problem by changing the test on
> HAVE_STRSEP by a test on _BSD_SOURCE.
> Unfortunately, _BSD_SOURCE is not meant to be tested: it's a feature
> macro that is meant to be *defined* by some code to tell the C library
> headers to expose (or not) some given functionality.
> So instead, we basically revert commit
> c2a7f0d6051f71f3bb9d83b574d70814339e4b95 by dropping the patch, and
> pass -DHAVE_STRSEP in the CFLAGS when building dhcpdump.
> Fixes:
>   http://autobuild.buildroot.net/results/7231170d3d3e3637f02382c1a0a96009b0527618/
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> ---
>  .../0002-fix-strsep-feature-test.patch        | 27 -------------------
>  package/dhcpdump/dhcpdump.mk                  |  5 +++-
>  2 files changed, 4 insertions(+), 28 deletions(-)
>  delete mode 100644 package/dhcpdump/0002-fix-strsep-feature-test.patch

Applied to master, thanks.

Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering

More information about the buildroot mailing list