[PATCH 11/11] alpha: run the ld-ifunc tests
Matt Turner <[email protected]>
| Newsgroups | gmane.comp.gnu.binutils |
|---|---|
| Message-ID | <[email protected]> |
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.
---
ld/NEWS | 7 +++++++
ld/testsuite/ld-ifunc/ifunc.exp | 1 -
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git ./ld/NEWS ./ld/NEWS
index e52b0701add..2ff103da11b 100644
--- ./ld/NEWS
+++ ./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 .gnu_attribute 4 (Tag_GNU_AVR_VTABLE_AS).
For details, see https://sourceware.org/PR34305
diff --git ./ld/testsuite/ld-ifunc/ifunc.exp ./ld/testsuite/ld-ifunc/ifunc.exp
index 37cbf78840e..d0cbd633f35 100644
--- ./ld/testsuite/ld-ifunc/ifunc.exp
+++ ./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-*-*]
--
2.54.0