binutils Newspaper
OCTOBER 6, 2026
ld — Proposed

ld: Don't define section symbols for excluded sections

Reviewer suggests adding 'only' to clarify a patch's intent and criticizes code churn and indentation.

Jan Beulich reviews a patch that modifies how section symbols (__start, __stop, etc.) are defined for excluded sections in the ld linker. He suggests that the patch’s description should explicitly state that it’s introducing an additional constraint rather than defining symbols anew. Beulich also expresses dissatisfaction with the churn and increased indentation depth in the modified code.

In the Thread 1 participant
  1. Jan Beulich <jbeulich@suse.com> reviewer

    Reviews a patch on section symbol definition, suggesting phrasing improvements and criticizing code churn and indentation.

    “Feels like there is "only" missing in the sentences, to properly describe what the change actually does (introduce an extra constraint rather than provide those symbols anew). For changes like this I would also wish that they were done with less churn, and without needlessly increasing indentation depth:”

In Details

This discussion concerns a patch to the GNU linker (ld) that alters the conditions under which section symbols (like __start, __stop, .startof., .sizeof.) are defined. The patch ensures these symbols are only defined for relocatable links or if the SEC_EXCLUDE bit is not set on a section. Jan Beulich, reviewing the patch, suggests improving the commit message's clarity and criticizes the code modification for introducing unnecessary churn and increasing indentation.

For Context
section symbols
Symbols that mark the beginning or end of a section in an object file or executable, often used by linkers and runtime systems.
excluded sections
Sections within an object file that the linker is instructed to ignore or omit from the final output, typically controlled by flags like SEC_EXCLUDE.
relocatable link
A linking process that produces an output file that can be loaded and relocated at different memory addresses by the operating system's loader.
SEC_EXCLUDE
A flag associated with a section in an object file, indicating that the section should be excluded by the linker when creating non-relocatable output.
churn
In software development, refers to the amount of code that is changed, added, or deleted over a period, often implying unnecessary or disruptive modifications.
Filed Under: binutilsldlinkersectionsreview