[PATCH v2] bfd/dwarf2: break equal-range function ties by DIE offset, not pointer
Alan Modra
amodra@gmail.com
Thu Sep 10 11:13:08 GMT 2026
On Wed, Sep 09, 2026 at 10:55:53PM -0400, Sam Price wrote:
> + .section .debug_ptrsize
> + /* alpha's md_cons_align aligns every multi-byte datum to its own
> + size. In a hand-written debug section that padding lands in the
> + middle of the DWARF and corrupts it: the DIE tree loses the
> + inlined subroutine and the line program will not decode.
> + ".align 0" turns that off, and is a no-op everywhere else. ia64
> + aligns the same way but does not honour ".align 0"; it has its
> + own copy of this test, dw2-inline-tie-ia64.s. */
The above comment and two more copies of it should be removed as it is
no longer relevant.
You'll also need the following on top of your patch, otherwise
ft32-elf won't assemble ".byte .Lfunc_end - .Lfunc_begin".
diff --git a/binutils/testsuite/binutils-all/addr2line.exp b/binutils/testsuite/binutils-all/addr2line.exp
index 897f3529db5..9e5c4df51c3 100644
--- a/binutils/testsuite/binutils-all/addr2line.exp
+++ b/binutils/testsuite/binutils-all/addr2line.exp
@@ -23,7 +23,11 @@ set exe [exeext]
# An inlined subroutine covering exactly the range of the subprogram that
# contains it must be the one named, and the same one on every run.
if { [is_elf_format] } {
- run_dump_test "dw2-inline-tie"
+ set norelax ""
+ if [istarget ft32-*] {
+ set norelax [list [list as -norelax]]
+ }
+ run_dump_test "dw2-inline-tie" $norelax
}
# powerpc64 function symbols are on descriptors rather than code.
--
Alan Modra
More information about the Binutils
mailing list