[PATCH] gas: support for .pushsection and .popsection pseudo ops for coff
Project / Subsystem
binutils / gas
Date
2026-07-18
Proposer
Johannes Khoshnazar-Thoma <johannes@johannesthoma.com>
Source type
public_inbox
Consensus
Proposed
Sentiment
—/10
Technical tradeoffs
- • Enables COFF support for complex section management used in projects like the Linux kernel, at the cost of adding code to the COFF backend.
All attributes
- project
- binutils
- subsystem
- gas
- patch_id
- —
- discussion_id
- 20260718162202.2902067-1-johannes@johannesthoma.com
- source_type
- public_inbox
- title
- [PATCH] gas: support for .pushsection and .popsection pseudo ops for coff
- headline
- gas: support for .pushsection and .popsection pseudo ops for coff
- tldr
- Adds support for .pushsection/.popsection to the COFF object file format in GAS.
- proposer
- Johannes Khoshnazar-Thoma <johannes@johannesthoma.com>
- consensus
- Proposed
- outcome
- proposed
- sentiment_score
- —
- technical_tradeoffs
-
- • Enables COFF support for complex section management used in projects like the Linux kernel, at the cost of adding code to the COFF backend.
- series_id
- —
- series_role
- standalone
- series_parts
- []
- tags
-
- • binutils
- • gas
- • assembler
- • coff
- • section
- bugzilla_url
- —
- date
- 2026-07-18T00:00:00.000Z
[PATCH] gas: support for .pushsection and .popsection pseudo ops for coff
This patch adds support for the .pushsection and .popsection pseudo-operations to the COFF object file format in the GNU assembler (GAS). These directives are crucial for building current Linux kernels, which normally use ELF. When targeting Windows/ReactOS drivers (COFF), these operands were previously unsupported. The implementation was copied from the ELF backend, enabling Linux kernel compilation as a COFF object.