[PATCH] strace: Update to version 5.8

Hauke Mehrtens hauke at hauke-m.de
Sat Aug 29 16:14:29 EDT 2020


The added patch fixes a build problem in the x86/64 target.

Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 package/devel/strace/Makefile                 |  4 +--
 ...10-v4l2-Fix-compile-of-mpers-m32-API.patch | 31 +++++++++++++++++++
 2 files changed, 33 insertions(+), 2 deletions(-)
 create mode 100644 package/devel/strace/patches/010-v4l2-Fix-compile-of-mpers-m32-API.patch

diff --git a/package/devel/strace/Makefile b/package/devel/strace/Makefile
index cdf4067ad2b2..f38501e2bb52 100644
--- a/package/devel/strace/Makefile
+++ b/package/devel/strace/Makefile
@@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=strace
-PKG_VERSION:=5.5
+PKG_VERSION:=5.8
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://strace.io/files/$(PKG_VERSION)
-PKG_HASH:=9f58958c8e59ea62293d907d10572e352b582bd7948ed21aa28ebb47e5bf30ff
+PKG_HASH:=df4a669f7fff9cc302784085bd4b72fab216a426a3f72c892b28a537b71e7aa9
 
 PKG_MAINTAINER:=Felix Fietkau <nbd at nbd.name>
 PKG_LICENSE:=LGPL-2.1-or-later
diff --git a/package/devel/strace/patches/010-v4l2-Fix-compile-of-mpers-m32-API.patch b/package/devel/strace/patches/010-v4l2-Fix-compile-of-mpers-m32-API.patch
new file mode 100644
index 000000000000..46fd7ee30615
--- /dev/null
+++ b/package/devel/strace/patches/010-v4l2-Fix-compile-of-mpers-m32-API.patch
@@ -0,0 +1,31 @@
+From 313f7aee507b5f81e310a1b911a2f1da8d8cc283 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke at hauke-m.de>
+Date: Sat, 29 Aug 2020 21:35:48 +0200
+Subject: [PATCH] v4l2: Fix compile of mpers-m32 API
+
+In the mpers-m32 API the value64 member of the struct_v4l2_ext_control
+structure is of type int32_t. This causes the following compile error:
+v4l2.c: In function 'print_v4l2_ext_control':
+v4l2.c:915:11: error: format '%ld' expects argument of type 'long int', but argument 3 has type 'int32_t' {aka 'const int'} [-Werror=format=]
+   tprintf(", value=%d, value64=%" PRId64, p->value, p->value64);
+           ^~~~~~~~~~~~~~~~~~~~~~~                   ~~~~~~~~~~
+
+Fix this by adding the explicit cast again which was removed in strace
+version 5.6.
+
+Fixes: 7e7669ec899e ("v4l2: always decode VIDIOC_*_EXT_CTRLS ioctl commands")
+---
+ v4l2.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/v4l2.c
++++ b/v4l2.c
+@@ -912,7 +912,7 @@ print_v4l2_ext_control(struct tcb *tcp,
+ 		tprints(", string=");
+ 		printstrn(tcp, ptr_to_kulong(p->string), p->size);
+ 	} else {
+-		tprintf(", value=%d, value64=%" PRId64, p->value, p->value64);
++		tprintf(", value=%d, value64=%" PRId64, p->value, (int64_t) p->value64);
+ 	}
+ 	tprints("}");
+ 
-- 
2.20.1




More information about the openwrt-devel mailing list