[Buildroot] [PATCH v2, 1/1] package/diffutils: fix build with uclibc < 1.0.35

Fabrice Fontaine fontaine.fabrice at gmail.com
Wed Dec 1 07:00:04 UTC 2021


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>
+ # endif
+ /* On Mac OS X 10.5, <sys/random.h> assumes prior inclusion of <sys/types.h>.
+-- 
+cgit v1.2.1
+
-- 
2.33.0




More information about the buildroot mailing list