binutils Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
binutils/ld

Linker uses a created bfd for all ELF dynamic linking targets

Linker now uses a created bfd for all ELF dynamic linking targets, affecting test outputs.

The linker now consistently uses a linker-created bfd for all ELF targets that support dynamic linking. This change required adjustments to the testsuite, particularly for frv and x86 architectures, due to changes in how dynamic sections and .eh_frame are ordered and processed. Some test outputs were also tidied for clarity.

In Details

All ELF dynamic linking targets now use a linker-created BFD, controlled by elf_backend_want_stub_bfd. This introduces a new BFD into the bfd_list before dynamic sections are processed. This affects test cases for FRV, where the inserted BFD alters hash table calculations affecting PLT/GOT layout, and x86, where it changes .eh_frame output order.

For Context
bfd
The Binary File Descriptor library, which provides a common interface for handling various executable file formats.
ELF
Executable and Linkable Format, a common standard file format for executables, object code, shared libraries, and core dumps.
dynamic linking
A mechanism where an executable is linked against shared libraries at runtime, rather than during compile time.
.eh_frame
A section in ELF object files containing debugging information, specifically exception handling frames.
PLT
Procedure Linkage Table, a small piece of code used in ELF binaries to achieve lazy binding of functions in shared libraries.
GOT
Global Offset Table, a data structure used in position-independent code to store addresses of globally visible functions and data.
Filed Under: linkerELFdynamic linkingtestsuite