The test never worked on 32-bit arm platforms, which unlike most other
platforms don't have an explicit 'ret' instruction.

This fixes the configure script from:

  checking assembler for --gdwarf-5 option... yes
  checking assembler for --gdwarf-4 not refusing compiler generated 
.debug_line... yes
  checking assembler for --gdwarf-4 with the APP marker... no
  checking whether -gdwarf-5 is supported... yes

to:

  checking assembler for --gdwarf-5 option... yes
  checking assembler for --gdwarf-4 not refusing compiler generated 
.debug_line... yes
  checking assembler for --gdwarf-4 with the APP marker... yes
  checking assembler for working --gdwarf-4/--gdwarf-5 for all sources... yes
  checking whether -gdwarf-5 is supported... yes

This means the bulk of the DWARF information in 32-bit arm binaries is
now DWARF v5 (as it is with most other platforms) instead of DWARF v3.

For example, from master:

$ readelf -w busybox.suid | grep 'DWARF Version' | sort | uniq -c
     76   DWARF Version:               3
      5   DWARF Version:               5

But with this fix:

$ readelf -w busybox.suid | grep 'DWARF Version' | sort | uniq -c
      1   DWARF Version:               3
     80   DWARF Version:               5

Signed-off-by: Ross Burton <[email protected]>
---
 meta/recipes-devtools/gcc/gcc-16.2.inc        |  1 +
 ...or-working-assembler-gdwarf-4-option.patch | 50 +++++++++++++++++++
 2 files changed, 51 insertions(+)
 create mode 100644 
meta/recipes-devtools/gcc/gcc/0001-Fix-check-for-working-assembler-gdwarf-4-option.patch

diff --git a/meta/recipes-devtools/gcc/gcc-16.2.inc 
b/meta/recipes-devtools/gcc/gcc-16.2.inc
index 790bf7b651e..818dea8ac5a 100644
--- a/meta/recipes-devtools/gcc/gcc-16.2.inc
+++ b/meta/recipes-devtools/gcc/gcc-16.2.inc
@@ -73,6 +73,7 @@ SRC_URI = "${BASEURI} \
            file://0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch \
            file://0025-gcc-testsuite-tweaks-for-mips-OE.patch \
            file://0001-mapper-localhost-might-not-be-known.patch \
+           file://0001-Fix-check-for-working-assembler-gdwarf-4-option.patch \
 "
 
 UNPACKDIR = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/sources"
diff --git 
a/meta/recipes-devtools/gcc/gcc/0001-Fix-check-for-working-assembler-gdwarf-4-option.patch
 
b/meta/recipes-devtools/gcc/gcc/0001-Fix-check-for-working-assembler-gdwarf-4-option.patch
new file mode 100644
index 00000000000..e558c911cf1
--- /dev/null
+++ 
b/meta/recipes-devtools/gcc/gcc/0001-Fix-check-for-working-assembler-gdwarf-4-option.patch
@@ -0,0 +1,50 @@
+From 333f149e218bc2b5e4f601443fcc8fe572d048b1 Mon Sep 17 00:00:00 2001
+From: Christophe Lyon <[email protected]>
+Date: Fri, 18 Sep 2026 15:58:02 +0200
+Subject: [PATCH] Fix check for working assembler --gdwarf-4 option
+
+The code fragment used to check for --gdwarf-4 option with the APP
+marker ends with a hard-coded 'ret' instruction, which is not supported
+by all architectures (e.g. arm).  Replace it with $insn.
+
+gcc/ChangeLog:
+
+       * configure.ac: Replace 'ret' with '$insn'.
+       * configure: Regenerate.
+
+Upstream-Status: Backport [gcc 316c6dddbb4858c2c34b58b3bddc6b85923d2799]
+Signed-off-by: Ross Burton <[email protected]>
+---
+ gcc/configure    | 2 +-
+ gcc/configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/configure b/gcc/configure
+index 4a90e86ed9f..4c45f8e7376 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -32340,7 +32340,7 @@ foo:
+       .file 1 \"foo.c\"
+       $insn
+       .file 2 \"foo.h\"
+-      ret
++      $insn
+ "
+    dwarf4_success=no
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for --gdwarf-4 
with the APP marker" >&5
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index abf5e4f4e7e..ca6d098b501 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -5914,7 +5914,7 @@ foo:
+       .file 1 \"foo.c\"
+       $insn
+       .file 2 \"foo.h\"
+-      ret
++      $insn
+ "
+    dwarf4_success=no
+    gcc_GAS_CHECK_FEATURE([--gdwarf-4 with the APP marker],
+-- 
+2.43.0
+
-- 
2.43.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#246325): 
https://lists.openembedded.org/g/openembedded-core/message/246325
Mute This Topic: https://lists.openembedded.org/mt/121354870/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to