[Buildroot] [git commit] package/strace: fix build with v5.2 kernel headers

Peter Korsgaard peter at korsgaard.com
Tue Aug 27 21:14:42 UTC 2019


commit: https://git.buildroot.net/buildroot/commit/?id=eb3ed2af54b0a93a8af42f22d4a95d80fa2cea72
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Add upstream patch with a workaround to incompatible change in kernel
headers.

Regenerate the v4l2_pix_fmts.h header which is pre-generated from
v4l2_pix_fmts.in in the strace tarball.

Fixes:
http://autobuild.buildroot.net/results/5494c9e21e623a9b7d87e06d86ed5e95d696c21a/

Signed-off-by: Baruch Siach <baruch at tkos.co.il>
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 ...ix_fmts.in-work-around-V4L2_PIX_FMT_BGRA4.patch | 42 ++++++++++++++++++++++
 package/strace/strace.mk                           |  7 ++++
 2 files changed, 49 insertions(+)

diff --git a/package/strace/0001-xlat-v4l2_pix_fmts.in-work-around-V4L2_PIX_FMT_BGRA4.patch b/package/strace/0001-xlat-v4l2_pix_fmts.in-work-around-V4L2_PIX_FMT_BGRA4.patch
new file mode 100644
index 0000000000..3057b6ee0c
--- /dev/null
+++ b/package/strace/0001-xlat-v4l2_pix_fmts.in-work-around-V4L2_PIX_FMT_BGRA4.patch
@@ -0,0 +1,42 @@
+From 60da39553ff92cf741bf7f54daff636bb28cbb3c Mon Sep 17 00:00:00 2001
+From: Eugene Syromyatnikov <evgsyr at gmail.com>
+Date: Wed, 24 Jul 2019 00:32:53 +0200
+Subject: [PATCH] xlat/v4l2_pix_fmts.in: work around V4L2_PIX_FMT_BGRA444 value
+ change
+
+* xlat/v4l2_pix_fmts.in: Undefine V4L2_PIX_FMT_BGRA444 as it has changed
+its value in Linux commit v5.2-rc5-403-g22be8233b34f.
+
+Signed-off-by: Baruch Siach <baruch at tkos.co.il>
+---
+Upstream status: commit 60da39553ff92
+
+ xlat/v4l2_pix_fmts.in | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/xlat/v4l2_pix_fmts.in b/xlat/v4l2_pix_fmts.in
+index 3276d3818a12..e742d07ac51c 100644
+--- a/xlat/v4l2_pix_fmts.in
++++ b/xlat/v4l2_pix_fmts.in
+@@ -37,8 +37,17 @@ V4L2_PIX_FMT_RGB332  v4l2_fourcc('R', 'G', 'B', '1') /*  8  RGB-3-3-2     */
+ V4L2_PIX_FMT_H264_NO_SC v4l2_fourcc('A', 'V', 'C', '1') /* H264 without start codes */
+ V4L2_PIX_FMT_PWC1     v4l2_fourcc('P', 'W', 'C', '1') /* pwc older webcam */
+ V4L2_PIX_FMT_MPEG1    v4l2_fourcc('M', 'P', 'G', '1') /* MPEG-1 ES     */
+-V4L2_PIX_FMT_BGRA444 v4l2_fourcc('B', 'A', '1', '2') /* 16  bbbbgggg rrrraaaa */
+ V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12  GRGR.. BGBG.. */
++#ifndef STRACE_WORKAROUND_FOR_V4L2_PIX_FMT_BGRA444
++# define STRACE_WORKAROUND_FOR_V4L2_PIX_FMT_BGRA444
++/*
++ * V4L2_PIX_FMT_BGRA444 was introduced in Linux commit v5.2-rc1~33^2~24 with
++ * the value of v4l2_fourcc('B', 'A', '1', '2') and changed in commit
++ * v5.2-rc5-403-g22be8233b34f as it clashed with V4L2_PIX_FMT_SGRBG12.
++ */
++# undef V4L2_PIX_FMT_BGRA444
++#endif
++V4L2_PIX_FMT_BGRA444 v4l2_fourcc('G', 'A', '1', '2') /* 16  bbbbgggg rrrraaaa */
+ V4L2_PIX_FMT_RGBA444 v4l2_fourcc('R', 'A', '1', '2') /* 16  rrrrgggg bbbbaaaa */
+ V4L2_PIX_FMT_ABGR444 v4l2_fourcc('A', 'B', '1', '2') /* 16  aaaabbbb ggggrrrr */
+ V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12  GBGB.. RGRG.. */
+-- 
+2.23.0.rc1
+
diff --git a/package/strace/strace.mk b/package/strace/strace.mk
index 9049e52d4a..0fdd7d66ff 100644
--- a/package/strace/strace.mk
+++ b/package/strace/strace.mk
@@ -11,6 +11,13 @@ STRACE_LICENSE = LGPL-2.1+
 STRACE_LICENSE_FILES = COPYING LGPL-2.1-or-later
 STRACE_CONF_OPTS = --enable-mpers=check
 
+# Regenerate v4l2_pix_fmts.h since we patch v4l2_pix_fmts.in
+define STRACE_GEN_V4L2_PIX_FMT
+	$(@D)/xlat/gen.sh $(@D)/xlat/v4l2_pix_fmts.in $(@D)/xlat/v4l2_pix_fmts.h
+endef
+
+STRACE_POST_PATCH_HOOKS += STRACE_GEN_V4L2_PIX_FMT
+
 # strace bundle some kernel headers to build libmpers, this mixes userspace
 # headers and kernel headers which break the build with musl.
 # The stddef.h from gcc is used instead of the one from musl.


More information about the buildroot mailing list