Landing: 0f6b256ca84c
Project / Subsystem
binutils / gas
Date
2026-06-11
Author
Alan Modra <amodra@sourceware.org>
Commit
0f6b256ca84c113a8b06d878f19ed98c40a62b3d
Source
public_inbox
Perf win
No
Breaking
No
All attributes
- project
- binutils
- subsystem
- gas
- patch_id
- —
- commit_hash
- 0f6b256ca84c113a8b06d878f19ed98c40a62b3d
- source_type
- public_inbox
- headline
- Restore recursion guards in i386-intel symbol simplification
- tldr
- This commit reintroduces recursion guards to the i386-intel symbol simplification logic in GAS to prevent infinite loops when processing complex symbol express…
- author
- Alan Modra <amodra@sourceware.org>
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • assembler
- • i386
- • intel-syntax
- • bugfix
- • recursion
- discussion_id_link
- public_inbox:binutils#30308
- bugzilla_pr
- —
- date
- 2026-06-11T00:00:00.000Z
The i386_intel_simplify_symbol function in GAS was previously modified, inadvertently removing recursion guards critical for handling complex symbol expressions. This omission led to unbounded recursion and crashes when the assembler encountered certain symbol definitions. The change restores these guards by adding symbol_resolving_p checks and marking symbols as resolving during the simplification process, thereby preventing infinite loops. This resolves a regression and improves the robustness of the i386-intel assembler.