[PATCH 10/11] alpha: reject a non-zero addend on a reference 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

  • • Prevents potential runtime errors by rejecting invalid IFUNC references.
  • • Adds complexity to relocation handling.
  • • Introduces new test cases for validation.

All attributes

project
binutils
subsystem
alpha
patch_id
—
discussion_id
20260901023318.3503991-10-mattst88@gmail.com
source_type
public_inbox
title
[PATCH 10/11] alpha: reject a non-zero addend on a reference to an IFUNC
headline
alpha: reject a non-zero addend on a reference to an IFUNC
tldr
Reject non-zero addends for IFUNC references on Alpha to avoid issues with R_ALPHA_IRELATIVE.
proposer
Matt Turner <mattst88@gmail.com>
consensus
Proposed
outcome
proposed
sentiment_score
—
technical_tradeoffs
  • • Prevents potential runtime errors by rejecting invalid IFUNC references.
  • • Adds complexity to relocation handling.
  • • Introduces new test cases for validation.
series_id
binutils:alpha: diagnose a reference to an ifunc whose place is deleted
series_role
reply
series_parts
[]
tags
  • • binutils
  • • alpha
  • • linker
  • • IFUNC
  • • relocation
bugzilla_url
—
date
2026-09-01T00:00:00.000Z

[PATCH 10/11] alpha: reject a non-zero addend on a reference to an IFUNC

This patch enhances the linker’s handling of indirect functions (IFUNCs) on the Alpha architecture by rejecting references that include a non-zero addend. The R_ALPHA_IRELATIVE relocation, used for IFUNCs, embeds the resolver’s address in its addend field, leaving no room for an additional offset. This change prevents potential errors when such references are encountered, particularly in scenarios involving R_ALPHA_LITERAL or R_ALPHA_REFQUAD, and adds test cases to verify this behavior.