From 76b02cd44d776ba01cbc238b33ecbe2978122244 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 30 Sep 2024 15:29:12 -0700 Subject: [PATCH] strace: Define sched_attr conditionally So that it does not conflict with glibc 2.41+ newly added definitions Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- ...e-conditionally-on-SCHED_ATTR_SIZE_V.patch | 49 +++++++++++++++++++ meta/recipes-devtools/strace/strace_6.11.bb | 1 + 2 files changed, 50 insertions(+) create mode 100644 meta/recipes-devtools/strace/strace/0001-sched_attr-Define-conditionally-on-SCHED_ATTR_SIZE_V.patch diff --git a/meta/recipes-devtools/strace/strace/0001-sched_attr-Define-conditionally-on-SCHED_ATTR_SIZE_V.patch b/meta/recipes-devtools/strace/strace/0001-sched_attr-Define-conditionally-on-SCHED_ATTR_SIZE_V.patch new file mode 100644 index 00000000000..b8d57797dfe --- /dev/null +++ b/meta/recipes-devtools/strace/strace/0001-sched_attr-Define-conditionally-on-SCHED_ATTR_SIZE_V.patch @@ -0,0 +1,49 @@ +From d162a1d6b18348955f9989f150c86a68af096362 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 30 Sep 2024 15:17:16 -0700 +Subject: [PATCH] sched_attr: Define conditionally on SCHED_ATTR_SIZE_VER0 + +glibc 2.41+ has added [1] definitions for sched_setattr and sched_getattr functions +and struct sched_attr. Therefore, it needs to be checked for here as well before +defining sched_attr + +Fixes builds with glibc/trunk + +In file included from ../../strace-6.11/src/sched.c:14: +../../strace-6.11/src/sched_attr.h:16:8: error: redefinition of 'sched_attr' + 16 | struct sched_attr { + | ^ +/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/strace/6.11/recipe-sysroot/usr/include/linux/sched/types.h:98:8: note: previous definition is here + 98 | struct sched_attr { + | ^ + +[1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=21571ca0d70302909cf72707b2a7736cf12190a0;hp=298bc488fdc047da37482f4003023cb9adef78f8 + +Upstream-Status: Submitted [https://github.com/strace/strace/pull/318] +Signed-off-by: Khem Raj +--- + src/sched_attr.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/sched_attr.h b/src/sched_attr.h +index 26c53172f..a5b5d94ce 100644 +--- a/src/sched_attr.h ++++ b/src/sched_attr.h +@@ -11,6 +11,8 @@ + + # include + ++# ifndef SCHED_ATTR_SIZE_VER0 ++ + struct sched_attr { + uint32_t size; + uint32_t sched_policy; +@@ -25,6 +27,8 @@ struct sched_attr { + uint32_t sched_util_max; + }; + ++# endif /* SCHED_ATTR_SIZE_VER0 */ ++ + # define SCHED_ATTR_MIN_SIZE 48 + # ifndef SCHED_ATTR_SIZE_VER1 + # define SCHED_ATTR_SIZE_VER1 56 diff --git a/meta/recipes-devtools/strace/strace_6.11.bb b/meta/recipes-devtools/strace/strace_6.11.bb index d98b5fdec9a..45e1c26627f 100644 --- a/meta/recipes-devtools/strace/strace_6.11.bb +++ b/meta/recipes-devtools/strace/strace_6.11.bb @@ -14,6 +14,7 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ file://skip-load.patch \ file://0001-configure-Use-autoconf-macro-to-detect-largefile-sup.patch \ file://0002-tests-Replace-off64_t-with-off_t.patch \ + file://0001-sched_attr-Define-conditionally-on-SCHED_ATTR_SIZE_V.patch \ " SRC_URI[sha256sum] = "83262583a3529f02c3501aa8b8ac772b4cbc03dc934e98bab6e4883626e283a5" -- 2.47.3