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

Alpha ELF: Allocate R_ALPHA_IRELATIVE relocation

Alpha ELF backend now defines and supports the R_ALPHA_IRELATIVE dynamic relocation type.

This commit introduces support for the R_ALPHA_IRELATIVE dynamic relocation type on the Alpha architecture. This relocation is used by the dynamic linker (or static executable startup code) to execute an IFUNC’s resolver and store the returned address. The commit assigns the next available number (42) to this relocation and adds its definition to the BFD reloc map and the Alpha ELF header, preparing for its use in linking.

In Details

The Alpha ELF backend lacked a definition for the R_ALPHA_IRELATIVE dynamic relocation. This commit adds the necessary definition, assigning it the value 42 (the next free slot after R_ALPHA_TPREL16). It includes the relocation's howto entry in the BFD reloc map and updates include/elf/alpha.h. This change is coordinated with a glibc submission to ensure synchronization, as glibc's elf/elf.h also defines these constants. The actual linker logic to produce this relocation follows in a separate commit.

For Context
R_ALPHA_IRELATIVE
An Alpha-specific ELF relocation type used in dynamic linking. It instructs the dynamic linker to execute an IFUNC's resolver and store the resulting address.
IFUNC
Indirect Function. A symbol that resolves to different function implementations at runtime, typically based on hardware features. It uses a resolver function.
dynamic linker
The system component responsible for loading shared libraries and resolving symbols at runtime. It processes relocation entries.
BFD
Binutils' Binary File Descriptor library, an abstraction layer for handling various object file formats.
Filed Under: linkeralpharelocationELFIFUNC