diff mbox series

binutils: disable gprofng for native

Message ID 20260913163410.3039548-1-aurelien@hackers.camp
State New
Headers show
Series binutils: disable gprofng for native | expand

Commit Message

Aurelien DESBRIERES Sept. 13, 2026, 4:34 p.m. UTC
gprofng's CALL_UTIL(x) pastes onto its argument, and glibc 2.43 defines
strstr as a _Generic macro, so the paste lands on the expansion:

  ../../../gprofng/libcollector/iolib.c:898:18: error: expected
      identifier before '_Generic'

Only the native build is affected -- it compiles against the host's
headers, while the target build uses the sysroot's. binutils-cross
already passes --disable-gprofng for the same kind of reason, and the
recipe carries the same line for toolchain-clang and libc-musl.

gprofng is a profiler the native build does not ship, so disabling it
costs nothing here.

Signed-off-by: Aurelien DESBRIERES <aurelien@hackers.camp>
---
 meta/recipes-devtools/binutils/binutils_2.44.bb | 6 ++++++
 1 file changed, 6 insertions(+)
diff mbox series

Patch

diff --git a/meta/recipes-devtools/binutils/binutils_2.44.bb b/meta/recipes-devtools/binutils/binutils_2.44.bb
index 99b5ce178d..f623a849e2 100644
--- a/meta/recipes-devtools/binutils/binutils_2.44.bb
+++ b/meta/recipes-devtools/binutils/binutils_2.44.bb
@@ -20,6 +20,12 @@  EXTRA_OECONF:append:toolchain-clang = " --disable-gprofng"
 # | ../../../gprofng/libcollector/../src/collector_module.h:78:13: error: duplicate member 'pwrite'
 # | ../../../gprofng/libcollector/dispatcher.c:578:8: error: 'struct sigevent' has no member named '_sigev_un'
 EXTRA_OECONF:append:libc-musl = " --disable-gprofng"
+# | ../../../gprofng/libcollector/iolib.c:898:18: error: expected identifier before '_Generic'
+# CALL_UTIL(x) pastes onto its argument, and glibc 2.43 defines strstr as a
+# _Generic macro, so the paste lands on the expansion instead. The target
+# build uses the sysroot's headers and is unaffected; gprofng is a profiler
+# the native build does not ship.
+EXTRA_OECONF:append:class-native = " --disable-gprofng"
 
 EXTRA_OECONF:class-native = "--enable-targets=all \
                              --enable-64-bit-bfd \