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