From: Martin Jansa <[email protected]> Fixes: ../../../gprofng/libcollector/linetrace.c: In function ‘__collector_ext_line_install’: ../../../gprofng/libcollector/linetrace.c:219:45: error: expected identifier before ‘_Generic’ 219 | if (java_follow_env != NULL && CALL_UTIL (strstr)(java_follow_env, COLLECTOR_JVMTI_OPTION)) | ^~~~~~ ../../../gprofng/libcollector/linetrace.c:219:34: note: in expansion of macro ‘CALL_UTIL’ 219 | if (java_follow_env != NULL && CALL_UTIL (strstr)(java_follow_env, COLLECTOR_JVMTI_OPTION)) | ^~~~~~~~~
Signed-off-by: Martin Jansa <[email protected]> --- .../binutils/binutils-2.42.inc | 1 + ...tect-against-standard-library-macros.patch | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 meta/recipes-devtools/binutils/binutils/0022-gprofng-protect-against-standard-library-macros.patch diff --git a/meta/recipes-devtools/binutils/binutils-2.42.inc b/meta/recipes-devtools/binutils/binutils-2.42.inc index 839d31242e..36bd49ad03 100644 --- a/meta/recipes-devtools/binutils/binutils-2.42.inc +++ b/meta/recipes-devtools/binutils/binutils-2.42.inc @@ -43,6 +43,7 @@ SRC_URI = "\ file://0019-Fix-32097-Warnings-when-building-gprofng-with-Clang.patch \ file://0020-gprofng-fix-std-gnu23-compatibility-wrt-unprototyped.patch \ file://0021-gprofng-fix-build-with-std-gnu23.patch \ + file://0022-gprofng-protect-against-standard-library-macros.patch \ file://0018-CVE-2025-0840.patch \ file://CVE-2025-1176.patch \ file://CVE-2025-1178.patch \ diff --git a/meta/recipes-devtools/binutils/binutils/0022-gprofng-protect-against-standard-library-macros.patch b/meta/recipes-devtools/binutils/binutils/0022-gprofng-protect-against-standard-library-macros.patch new file mode 100644 index 0000000000..0fa0a93991 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0022-gprofng-protect-against-standard-library-macros.patch @@ -0,0 +1,31 @@ +From 5f66aee7f4bec7a2d8378034116f5e5c3dc50f41 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <[email protected]> +Date: Sat, 22 Nov 2025 11:29:43 +0100 +Subject: [PATCH] gprofng: protect against standard library macros + +The CALL_UTIL macro can expand to an unparsable expression of the argument +is a macro, like with the new const-preserving standard library macros in +C23. + + * gprofng/src/collector_module.h (CALL_UTIL): Add parens to not + expand its argument if it is a function-like macro. + +Upstream-Status: Backport [2.46 5f66aee7f4bec7a2d8378034116f5e5c3dc50f41] +Signed-off-by: Martin Jansa <[email protected]> +--- + gprofng/src/collector_module.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h +index b64d69c45ab..859a6dd1f7d 100644 +--- a/gprofng/src/collector_module.h ++++ b/gprofng/src/collector_module.h +@@ -119,7 +119,7 @@ typedef struct CollectorUtilFuncs + extern CollectorUtilFuncs __collector_util_funcs; + extern int __collector_dlsym_guard; + +-#define CALL_UTIL(x) __collector_util_funcs.x ++#define CALL_UTIL(x) (__collector_util_funcs.x) + + /* The following constants define the meaning of the "void *arg" + * argument of getFrameInfo().
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#234040): https://lists.openembedded.org/g/openembedded-core/message/234040 Mute This Topic: https://lists.openembedded.org/mt/118523340/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
