[binutils-gdb] alpha: run the ld-ifunc tests

Sam James sjames@sourceware.org
Sat Sep 5 08:35:29 GMT 2026


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e85b56dacfb4272343a4740821b55fba34bd9e27

commit e85b56dacfb4272343a4740821b55fba34bd9e27
Author: Matt Turner <mattst88@gmail.com>
Date:   Mon Aug 31 22:33:18 2026 -0400

    alpha: run the ld-ifunc tests
    
    Removing alpha from the skip list in ld-ifunc/ifunc.exp runs the tests
    there. Tested with an alpha-linux-gnu cross toolchain; only the link
    tests of that directory are supported in a cross configuration.
    
    ifunc-26 stays an expected failure, as it has been since commit
    bb4e012ca04 added the marker. It is not a linker limitation: the test
    assigns a symbol with .set, which tc-alpha reads as the directive that
    sets an assembly mode.

Diff:
---
 ld/NEWS                         | 7 +++++++
 ld/testsuite/ld-ifunc/ifunc.exp | 1 -
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/ld/NEWS b/ld/NEWS
index ba88f410fbb..dab32bf648c 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -1,5 +1,12 @@
 -*- text -*-
 
+* The alpha target supports indirect functions (STT_GNU_IFUNC), using the
+  newly allocated R_ALPHA_IRELATIVE (42) dynamic relocation.  No dynamic
+  linker or C library startup code implements that relocation yet, so a
+  program that uses an indirect function needs a matching C library to run.
+  Taking the address of one from a read-only section is not supported in a
+  static link.
+
 * The avr target supports the following GNU attributes to make sure
   that object files that are being linked are using the same ABI.
   The following attributes have been added:
diff --git a/ld/testsuite/ld-ifunc/ifunc.exp b/ld/testsuite/ld-ifunc/ifunc.exp
index 37cbf78840e..d0cbd633f35 100644
--- a/ld/testsuite/ld-ifunc/ifunc.exp
+++ b/ld/testsuite/ld-ifunc/ifunc.exp
@@ -24,7 +24,6 @@
 
 
 if { ![is_elf_format] || ![supports_gnu_osabi]
-     || [istarget alpha-*-*]
      || [istarget arc*-*-*]
      || [istarget am33*-*-*]
      || [istarget bfin-*-*]


More information about the Binutils-cvs mailing list