[PATCH 05/11] alpha: emit R_ALPHA_IRELATIVE in PIC links

Project / Subsystem

binutils / alpha

Date

2026-09-01

Proposer

Matt Turner <mattst88@gmail.com>

Source type

public_inbox

Consensus

Proposed

Sentiment

—/10

Technical tradeoffs

  • • Correctly handles IFUNCs in PIC executables.
  • • Leverages existing memory space for RELATIVE relocations.

All attributes

project
binutils
subsystem
alpha
patch_id
—
discussion_id
20260901023318.3503991-6-mattst88@gmail.com
source_type
public_inbox
title
[PATCH 05/11] alpha: emit R_ALPHA_IRELATIVE in PIC links
headline
alpha: emit R_ALPHA_IRELATIVE in PIC links
tldr
Use R_ALPHA_IRELATIVE for IFUNC references in PIC alpha links to correctly store resolver addresses.
proposer
Matt Turner <mattst88@gmail.com>
consensus
Proposed
outcome
proposed
sentiment_score
—
technical_tradeoffs
  • • Correctly handles IFUNCs in PIC executables.
  • • Leverages existing memory space for RELATIVE relocations.
series_id
binutils:alpha: emit r_alpha_irelative in pic links
series_role
reply
series_parts
[]
tags
  • • alpha
  • • linker
  • • ifunc
  • • pic
  • • relocation
bugzilla_url
—
date
2026-09-01T00:00:00.000Z

[PATCH 05/11] alpha: emit R_ALPHA_IRELATIVE in PIC links

This patch modifies the alpha ELF linker to emit R_ALPHA_IRELATIVE relocations for IFUNC references in Position-Independent Code (PIC) links. In PIC, references to IFUNCs previously used R_ALPHA_RELATIVE, which stored the resolver’s address. The new R_ALPHA_IRELATIVE relocation correctly stores the address returned by the IFUNC’s resolver. This change ensures proper handling of IFUNCs in PIC environments without altering memory layout for existing RELATIVE relocations.