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.