[Buildroot] [PATCH v2, 1/1] package/diffutils: fix build with uclibc < 1.0.35
Peter Korsgaard
peter at korsgaard.com
Thu Dec 2 17:17:41 UTC 2021
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice at gmail.com> writes:
> Fix the following build failure with uclibc < 1.0.35 raised since bump
> to version 3.8 in commit 1f89c80417ad03127650b22c41ec4e30d42c549f:
> In file included from ./sys/random.h:40,
> from getrandom.c:22:
> /home/giuliobenetti/autobuild/run/instance-0/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:35: error: unknown type name 'size_t'
> 27 | extern int getrandom(void *__buf, size_t count, unsigned int flags)
> | ^~~~~~
> /home/giuliobenetti/autobuild/run/instance-0/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:8:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
> 7 | #include <features.h>
> +++ |+#include <stddef.h>
> 8 |
> Fixes:
> - http://autobuild.buildroot.org/results/adecc3e5def140348dfff30961fe6514c9a8e7b5
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> ---
> Changes v1 -> v2:
> - Use upstream patch
> ..._random-port-better-to-uClibc-1-0-35.patch | 39 +++++++++++++++++++
> 1 file changed, 39 insertions(+)
> create mode 100644 package/diffutils/0003-sys_random-port-better-to-uClibc-1-0-35.patch
> diff --git a/package/diffutils/0003-sys_random-port-better-to-uClibc-1-0-35.patch b/package/diffutils/0003-sys_random-port-better-to-uClibc-1-0-35.patch
> new file mode 100644
> index 0000000000..f9dd12f8e6
> --- /dev/null
> +++ b/package/diffutils/0003-sys_random-port-better-to-uClibc-1-0-35.patch
> @@ -0,0 +1,39 @@
> +From 135414a7f543e4d40ad0a7cbd51885e159a6e0f4 Mon Sep 17 00:00:00 2001
> +From: Paul Eggert <eggert at cs.ucla.edu>
> +Date: Tue, 30 Nov 2021 17:50:01 -0800
> +Subject: sys_random: port better to uClibc < 1.0.35
> +
> +Problem reported by Fabrice Fontaine in:
> +https://lists.gnu.org/r/bug-gnulib/2021-11/msg00043.html
> +* lib/sys_random.in.h [HAVE_SYS_RANDOM_H && !__GLIBC__ && __UCLIBC__]:
> +Include <stddef.h>, in case this file is included before
> +__UCLIBC__ is defined.
> +
> +[Retrieved (and backported to remove ChangeLog update) from:
> +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=135414a7f543e4d40ad0a7cbd51885e159a6e0f4]
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> +---
> + ChangeLog | 9 +++++++++
> + lib/sys_random.in.h | 6 ++++--
> + 2 files changed, 13 insertions(+), 2 deletions(-)
> +
> +diff --git a/lib/sys_random.in.h b/lib/sys_random.in.h
> +index 1abd6c544..8b4b934a1 100644
> +--- a/lib/sys_random.in.h
> ++++ b/lib/sys_random.in.h
> +@@ -23,8 +23,10 @@
> +
> + #if @HAVE_SYS_RANDOM_H@
> +
> +-/* On uClibc, <sys/random.h> assumes prior inclusion of <stddef.h>. */
> +-# if defined __UCLIBC__
> ++/* On uClibc < 1.0.35, <sys/random.h> assumes prior inclusion of <stddef.h>.
> ++ Do not use __UCLIBC__ here, as it might not be defined yet.
> ++ But avoid namespace pollution on glibc systems. */
> ++# ifndef __GLIBC__
> + # include <stddef.h>
Are you sure that works? uClibc-ng defines __GLIBC__.
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list