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

Fix tic6x linker to create dynamic sections for --shared

tic6x linker now creates dynamic sections for --shared even if input objects lack relocations.

The tic6x linker’s behavior for --shared linking was fixed. Previously, it would not create dynamic sections unless an input object contained relocations. This patch relaxes the input object suitability test, aligning it with other targets and resolving a failure in a recently added test case. It also updates testsuite entries for tic6x.

In Details

The elf_link_add_object_symbols function in bfd/elflink.c previously required an exact target match for compatible_format when creating dynamic sections for a shared object. This commit changes the condition to use compatible_format more loosely, allowing the tic6x target to create dynamic sections even when input objects lack relocations. This resolves a specific issue with the tic6x-ld target's default format differing from tic6x-as and corrects a testsuite failure.

For Context
BFD
The Binary File Descriptor library, a low-level interface for reading and writing object file formats.
ELF
Executable and Linkable Format, a common standard for object file formats on Unix-like systems.
relocations
Information in an object file that tells the linker how to modify code or data addresses when linking.
--shared
A linker flag that instructs the linker to produce a shared object (e.g., a DLL or .so file).
dynamic sections
Sections in an ELF object file that contain information necessary for dynamic linking, such as symbol tables for dynamic linking and relocation entries.
tic6x
A Texas Instruments digital signal processor architecture.
Filed Under: linkerelftic6xbugfixshared objects