[PATCH 06/11] alpha: reject relocations that cannot refer to an IFUNC

Project / Subsystem

binutils / alpha

Date

2026-09-01

Proposer

Matt Turner <mattst88@gmail.com>

Source type

public_inbox

Consensus

Proposed

Sentiment

—/10

Technical tradeoffs

  • • Improves robustness by catching incorrect relocation usage.
  • • May require users to adjust their code or build process if these invalid relocations are being generated.

All attributes

project
binutils
subsystem
alpha
patch_id
—
discussion_id
20260901023318.3503991-7-mattst88@gmail.com
source_type
public_inbox
title
[PATCH 06/11] alpha: reject relocations that cannot refer to an IFUNC
headline
alpha: reject relocations that cannot refer to an IFUNC
tldr
Reject invalid relocation types that incorrectly attempt to reference an IFUNC directly.
proposer
Matt Turner <mattst88@gmail.com>
consensus
Proposed
outcome
proposed
sentiment_score
—
technical_tradeoffs
  • • Improves robustness by catching incorrect relocation usage.
  • • May require users to adjust their code or build process if these invalid relocations are being generated.
series_id
binutils:alpha: reject relocations that cannot refer to an ifunc
series_role
reply
series_parts
[]
tags
  • • alpha
  • • linker
  • • ifunc
  • • relocation
  • • error handling
bugzilla_url
—
date
2026-09-01T00:00:00.000Z

[PATCH 06/11] alpha: reject relocations that cannot refer to an IFUNC

This patch series introduces checks in the alpha ELF linker to reject specific relocation types that cannot correctly reference an IFUNC. These include R_ALPHA_BRADDR, R_ALPHA_BRSGP, gp-relative relocations, and R_ALPHA_REFLONG, which name the symbol directly or have insufficient field size. By reporting these errors, the linker ensures that all references to IFUNCs go through the appropriate GOT entry or data word that utilizes R_ALPHA_IRELATIVE.