[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.