[Buildroot] [git commit branch/2018.08.x] vboot-utils: fix major() build failure due to glibc 2.28

Peter Korsgaard peter at korsgaard.com
Mon Oct 1 19:14:41 UTC 2018


commit: https://git.buildroot.net/buildroot/commit/?id=3f38562d65a4ea95f2570082a5d333818e245abe
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2018.08.x

glibc 2.28 no longer includes <sys/sysmacros.h> from <sys/types.h>,
and therefore <sys/sysmacros.h> must be included explicitly when
major() are used.

This commit adds an upstream patch to directly include
<sys/sysmacros.h> into cgpt_wrapper.c and dump_kernel_config_lib.c files
where major() macro is used.

The upstream patch has been taken from:
https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/435fbcee218b37a87368e2b22fa33366875d458c

Fixes:
http://autobuild.buildroot.net/results/4a2/4a21307984cb16d7879149dd9b9b062181b0388f/
http://autobuild.buildroot.net/results/899/899569165112fe577cf191cd4f0c698cbedeb9b1/
http://autobuild.buildroot.net/results/0e5/0e527d231fa791ec8e3375804f1a0043f92d73d0/
http://autobuild.buildroot.net/results/184/1849be60dd13c1debfbcfb8fba5cec113e81af62/
http://autobuild.buildroot.net/results/38f/38fcefe4feabfd95692cf6b3f7ecf84259fca4de/

Signed-off-by: Giulio Benetti <giulio.benetti at micronovasrl.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
(cherry picked from commit 2834e06c950c16923d18db89246e274edc42277d)
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 .../0005-include-sys-sysmacros.h-for-major.patch   | 51 ++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/package/vboot-utils/0005-include-sys-sysmacros.h-for-major.patch b/package/vboot-utils/0005-include-sys-sysmacros.h-for-major.patch
new file mode 100644
index 0000000000..5d76428eb6
--- /dev/null
+++ b/package/vboot-utils/0005-include-sys-sysmacros.h-for-major.patch
@@ -0,0 +1,51 @@
+From 435fbcee218b37a87368e2b22fa33366875d458c Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier at chromium.org>
+Date: Tue, 19 Apr 2016 13:58:49 -0400
+Subject: [PATCH] include sys/sysmacros.h for major()
+
+The major() func is defined in the sys/sysmacros.h header, so include it
+explicitly for the prototype.  Upstream C libs are moving away from having
+sys/types.h include it all the time implicitly.
+
+BUG=None
+TEST=precq passes
+BRANCH=None
+
+Change-Id: I56b84138f08ded2376193403f9c9db22c5f24f71
+Reviewed-on: https://chromium-review.googlesource.com/339680
+Commit-Ready: Mike Frysinger <vapier at chromium.org>
+Tested-by: Mike Frysinger <vapier at chromium.org>
+Reviewed-by: Bill Richardson <wfrichar at google.com>
+Signed-off-by: Giulio Benetti <giulio.benetti at micronovasrl.com>
+---
+ cgpt/cgpt_wrapper.c               | 1 +
+ futility/dump_kernel_config_lib.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/cgpt/cgpt_wrapper.c b/cgpt/cgpt_wrapper.c
+index dcfaab9c..1716cdde 100644
+--- a/cgpt/cgpt_wrapper.c
++++ b/cgpt/cgpt_wrapper.c
+@@ -18,6 +18,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <sys/stat.h>
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+ 
+diff --git a/futility/dump_kernel_config_lib.c b/futility/dump_kernel_config_lib.c
+index 4fe990c3..abf37ae1 100644
+--- a/futility/dump_kernel_config_lib.c
++++ b/futility/dump_kernel_config_lib.c
+@@ -10,6 +10,7 @@
+ #include <string.h>
+ #include <sys/mman.h>
+ #include <sys/stat.h>
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+ 
+-- 
+2.17.1
+


More information about the buildroot mailing list