[11/11] alpha: run the ld-ifunc tests
Checks
| Context |
Check |
Description |
| linaro-tcwg-bot/tcwg_binutils_build--master-arm |
success
|
Build passed
|
| linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 |
success
|
Build passed
|
| linaro-tcwg-bot/tcwg_binutils_check--master-aarch64 |
success
|
Test passed
|
| linaro-tcwg-bot/tcwg_binutils_check--master-arm |
success
|
Test passed
|
Commit Message
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(-)
@@ -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
@@ -24,7 +24,6 @@
if { ![is_elf_format] || ![supports_gnu_osabi]
- || [istarget alpha-*-*]
|| [istarget arc*-*-*]
|| [istarget am33*-*-*]
|| [istarget bfin-*-*]