binutils Newspaper
OCTOBER 6, 2026
binutils — Proposed

Review and consolidate target conditionals in peXXigen.c

Consolidate and clean up PE target conditional logic in BFD.

This patch series reviews and refactors target conditional logic within bfd/peXXigen.c. It aims to discard historical cruft, such as obsolete PE MIPS support, and consolidate the logic for distinguishing PE32 and PE32+ formats. The changes improve code maintainability and reduce the potential for errors by simplifying how different PE targets are handled.

In the Thread 1 participant
  1. Jon Turney <jon.turney@dronecode.org.uk> proposer

    Proposes a series of patches to consolidate and clean up target-specific conditional logic in `bfd/peXXigen.c`, removing obsolete MIPS support and simplifying PE32/PE32+ format distinctions.

    “As suggested back at [1], I reviewed the target conditional in peXXigen.c. This discards some historical cruft for PE32 MIPS and then consolidates the "is this target PE32 or PE32+" logic in one place.”

In Details

This is a series of patches focused on improving the maintainability of bfd/peXXigen.c by cleaning up conditional compilation directives. It addresses outdated MIPS support and refactors the way PE32 vs. PE32+ (64-bit) targets are distinguished, aiming for clearer, more robust code. The changes are primarily code hygiene and consolidation efforts.

For Context
target conditional
Code that is conditionally compiled based on the target architecture or system being built for.
peXXigen.c
A C source file within the binutils BFD library that handles PE (Portable Executable) file format specifics for various architectures.
historical cruft
Code or design elements that are outdated, no longer relevant, or have become cumbersome due to the evolution of the software.
Filed Under: bfdperefactoringmaintainabilitycode quality