Landing: 3467fbb611f1

Project / Subsystem

binutils / bfd

Date

2026-08-31

Author

Max Filippov <jcmvbkbc@sourceware.org>

Commit

3467fbb611f1c9a2cf07d13142a9d3ed1501382d

Source

public_inbox

Perf win

Yes

Breaking

No

All attributes

project
binutils
subsystem
bfd
patch_id
—
commit_hash
3467fbb611f1c9a2cf07d13142a9d3ed1501382d
source_type
public_inbox
headline
Add R_XTENSA_PDIFF_ULEB128 relocation for DWARF 5
tldr
Enables linker relaxation for DWARF 5 uleb128 encoded differences on Xtensa.
author
Max Filippov <jcmvbkbc@sourceware.org>
outcome
committed
performance_win
true
breaking_change
false
series_id
—
series_parts
[]
tags
  • • linker
  • • xtensa
  • • dwarf
  • • optimization
  • • debug
discussion_id_link
—
bugzilla_pr
—
date
2026-08-31T00:00:00.000Z

This commit introduces R_XTENSA_PDIFF_ULEB128, a new relocation type for the Xtensa architecture, to support DWARF 5’s use of unsigned LEB128 (uleb128) encoding for differences in location and range lists. Previously, such differences prevented linker relaxation for entire functions. The new relocation allows the assembler to pad the uleb128 to a fixed width, enabling the linker to rewrite the difference in place after relaxation, thus preserving relaxation for functions with DWARF 5 debug info.