Lines Matching refs:ifunc
1 # Expect script for linker support of IFUNC symbols and relocations.
26 # IFUNC support has only been implemented for the ix86, x86_64, powerpc,
39 verbose "IFUNC tests not run - target does not support IFUNC"
48 verbose "IFUNC tests not run - not a native toolchain"
55 verbose "IFUNC tests not run - no compiler available"
86 # A procedure to confirm that a file contains the IFUNC symbol.
100 # 58: 0000000000400600 30 IFUNC GLOBAL DEFAULT 12 library_func2
103 if { ![regexp ".*\[ \]*IFUNC\[ \]+GLOBAL\[ \]+DEFAULT .* \[UND0-9\]+\[ \]+library_func2\n" [file_contents readelf.out]] } {
137 # A procedure to confirm that a file contains a relocation that references an IFUNC symbol.
174 fail "Could not create a PIC object file containing an IFUNC symbol"
178 fail "Could not create a non-PIC object file containing an IFUNC symbol"
203 fail "Could not create a shared library containing an IFUNC symbol"
207 fail "Could not create a static library containing an IFUNC symbol"
220 fail "Could not link a dynamic executable using local ifunc"
228 fail "Could not link a non-ifunc using static executable"
241 pass "Building ifunc binaries"
249 # The linked ifunc using executables and the shared library containing
250 # ifunc should have an OSABI field of GNU. The linked non-ifunc using
254 fail "Shared libraries containing ifunc does not have an OS/ABI field of GNU"
258 fail "Local ifunc-using executable does not have an OS/ABI field of GNU"
262 fail "Static ifunc-using executable does not have an OS/ABI field of GNU"
266 fail "Dynamic ifunc-using executable does not have an OS/ABI field of System V"
270 fail "Static non-ifunc-using executable does not have an OS/ABI field of System V"
274 # The linked ifunc using executables and the shared library containing
275 # ifunc should contain an IFUNC symbol. The non-ifunc using executable
279 fail "Shared libraries containing ifunc does not contain an IFUNC symbol"
283 fail "Local ifunc-using executable does not contain an IFUNC symbol"
287 fail "Static ifunc-using executable does not contain an IFUNC symbol"
291 fail "Dynamic ifunc-using executable contains an IFUNC symbol"
295 fail "Static non-ifunc-using executable contains an IFUNC symbol"
299 fail "test-1 contains IFUNC symbols"
303 fail "libtest-2.so contains IFUNC symbols"
307 # The linked ifunc using executables and shared libraries should contain
308 # a dynamic reloc referencing the IFUNC symbol. (Even the static
310 # non-ifunc using executable should not.
313 fail "ifunc-using shared library does not contain R_*_IRELATIVE relocation"
317 fail "Local ifunc-using executable does not contain R_*_IRELATIVE relocation"
321 fail "Static ifunc-using executable does not contain R_*_IRELATIVE relocation"
325 fail "Dynamic ifunc-using executable contains a reloc against an IFUNC symbol"
329 fail "Static non-ifunc-using executable contains a reloc against an IFUNC symbol!"
334 pass "Checking ifunc binaries"
390 "Common symbol override ifunc test 1a" \
393 { ifunc-common-1a.c ifunc-common-1b.c } \
394 "ifunc-common-1a" \
395 "ifunc-common-1.out" \
399 "Common symbol override ifunc test 1b" \
402 { ifunc-common-1b.c ifunc-common-1a.c } \
403 "ifunc-common-1b" \
404 "ifunc-common-1.out" \