[PATCH] alpha: don't merge .got subsections once GPREL relocs exist
Project / Subsystem
binutils / alpha
Date
2026-09-26
Proposer
Matt Turner <mattst88@gmail.com>
Source type
public_inbox
Consensus
Proposed
Sentiment
—/10
Technical tradeoffs
- • Prevents a relocation error by adding a new flag and conditional logic, ensuring correctness at the cost of slightly more complex linker state management.
All attributes
- project
- binutils
- subsystem
- alpha
- patch_id
- —
- discussion_id
- 20260926165132.1054779-1-mattst88@gmail.com
- source_type
- public_inbox
- title
- [PATCH] alpha: don't merge .got subsections once GPREL relocs exist
- headline
- alpha: don't merge .got subsections once GPREL relocs exist
- tldr
- Fixes binutils linker bug on alpha where merging .got subsections after GPREL relocs are created leads to relocation errors.
- proposer
- Matt Turner <mattst88@gmail.com>
- consensus
- Proposed
- outcome
- proposed
- sentiment_score
- —
- technical_tradeoffs
-
- • Prevents a relocation error by adding a new flag and conditional logic, ensuring correctness at the cost of slightly more complex linker state management.
- series_id
- —
- series_role
- standalone
- series_parts
- []
- tags
-
- • binutils
- • linker
- • alpha
- • relocation
- • optimization
- bugzilla_url
- —
- date
- 2026-09-26T00:00:00.000Z
[PATCH] alpha: don't merge .got subsections once GPREL relocs exist
This patch modifies the alpha ELF linker to prevent merging of .got subsections after Global Pointer Relative (GPREL) relocations are created. A previous change disabled merging after the first relaxation pass, but the linker’s re-evaluation of layout can restart relaxation from pass zero, leading to incorrect merges and relocation truncation errors.