Enable ld-ifunc tests for more targets
Also fix some ix86 fails. * testsuite/ld-ifunc/ifunc.exp: Enable for more targets, specifying targets that don't support ifunc rather than ones that do. (contains_irelative_reloc): Match R_PARISC_IPLT. * testsuite/ld-ifunc/lib.c: Don't use .set in asm. * testsuite/ld-ifunc/ifunc-23-x86.s, * testsuite/ld-ifunc/ifunc-24-x86.s, * testsuite/ld-ifunc/ifunc-25-x86.s, * testsuite/ld-ifunc/ifunc-4-local-x86.s, * testsuite/ld-ifunc/ifunc-4-x86.s: Define _main. * testsuite/ld-ifunc/ifunc-10-i386.d, * testsuite/ld-ifunc/ifunc-11-i386.d, * testsuite/ld-ifunc/ifunc-12-i386.d, * testsuite/ld-ifunc/ifunc-13-i386.d, * testsuite/ld-ifunc/ifunc-14a-i386.d, * testsuite/ld-ifunc/ifunc-14b-i386.d, * testsuite/ld-ifunc/ifunc-14c-i386.d, * testsuite/ld-ifunc/ifunc-14d-i386.d, * testsuite/ld-ifunc/ifunc-14e-i386.d, * testsuite/ld-ifunc/ifunc-14f-i386.d, * testsuite/ld-ifunc/ifunc-15-i386.d, * testsuite/ld-ifunc/ifunc-16-i386-now.d, * testsuite/ld-ifunc/ifunc-16-i386.d, * testsuite/ld-ifunc/ifunc-17a-i386.d, * testsuite/ld-ifunc/ifunc-17b-i386.d, * testsuite/ld-ifunc/ifunc-18a-i386.d, * testsuite/ld-ifunc/ifunc-18b-i386.d, * testsuite/ld-ifunc/ifunc-19a-i386.d, * testsuite/ld-ifunc/ifunc-19b-i386.d, * testsuite/ld-ifunc/ifunc-2-i386-now.d, * testsuite/ld-ifunc/ifunc-2-i386.d, * testsuite/ld-ifunc/ifunc-2-local-i386-now.d, * testsuite/ld-ifunc/ifunc-2-local-i386.d, * testsuite/ld-ifunc/ifunc-20-i386.d, * testsuite/ld-ifunc/ifunc-21-i386.d, * testsuite/ld-ifunc/ifunc-22-i386.d, * testsuite/ld-ifunc/ifunc-26.d, * testsuite/ld-ifunc/ifunc-5a-i386.d, * testsuite/ld-ifunc/ifunc-5a-local-i386.d, * testsuite/ld-ifunc/ifunc-5b-i386.d, * testsuite/ld-ifunc/ifunc-5b-local-i386.d, * testsuite/ld-ifunc/ifunc-5r-local-i386.d, * testsuite/ld-ifunc/ifunc-6a-i386.d, * testsuite/ld-ifunc/ifunc-6b-i386.d, * testsuite/ld-ifunc/ifunc-7a-i386.d, * testsuite/ld-ifunc/ifunc-7b-i386.d, * testsuite/ld-ifunc/ifunc-8-i386.d, * testsuite/ld-ifunc/ifunc-9-i386.d, * testsuite/ld-ifunc/pr17154-i386-now.d, * testsuite/ld-ifunc/pr17154-i386.d: xfail lynxos, nto, and solaris.
This commit is contained in:
parent
19234a6d36
commit
bb4e012ca0
52
ld/ChangeLog
52
ld/ChangeLog
@ -1,3 +1,55 @@
|
|||||||
|
2020-02-06 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* testsuite/ld-ifunc/ifunc.exp: Enable for more targets, specifying
|
||||||
|
targets that don't support ifunc rather than ones that do.
|
||||||
|
(contains_irelative_reloc): Match R_PARISC_IPLT.
|
||||||
|
* testsuite/ld-ifunc/lib.c: Don't use .set in asm.
|
||||||
|
* testsuite/ld-ifunc/ifunc-23-x86.s,
|
||||||
|
* testsuite/ld-ifunc/ifunc-24-x86.s,
|
||||||
|
* testsuite/ld-ifunc/ifunc-25-x86.s,
|
||||||
|
* testsuite/ld-ifunc/ifunc-4-local-x86.s,
|
||||||
|
* testsuite/ld-ifunc/ifunc-4-x86.s: Define _main.
|
||||||
|
* testsuite/ld-ifunc/ifunc-10-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-11-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-12-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-13-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-14a-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-14b-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-14c-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-14d-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-14e-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-14f-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-15-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-16-i386-now.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-16-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-17a-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-17b-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-18a-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-18b-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-19a-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-19b-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-2-i386-now.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-2-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-2-local-i386-now.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-2-local-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-20-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-21-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-22-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-26.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-5a-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-5a-local-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-5b-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-5b-local-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-5r-local-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-6a-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-6b-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-7a-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-7b-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-8-i386.d,
|
||||||
|
* testsuite/ld-ifunc/ifunc-9-i386.d,
|
||||||
|
* testsuite/ld-ifunc/pr17154-i386-now.d,
|
||||||
|
* testsuite/ld-ifunc/pr17154-i386.d: xfail lynxos, nto, and solaris.
|
||||||
|
|
||||||
2020-02-06 Alan Modra <amodra@gmail.com>
|
2020-02-06 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* testsuite/lib/ld-lib.exp (is_generic): Delete.
|
* testsuite/lib/ld-lib.exp (is_generic): Delete.
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
There are no relocations in this file.
|
There are no relocations in this file.
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
There are no relocations in this file.
|
There are no relocations in this file.
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
There are no relocations in this file.
|
There are no relocations in this file.
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#as: --32 -mrelax-relocations=yes
|
#as: --32 -mrelax-relocations=yes
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.ifunc' at offset 0x[0-9a-f]+ contains 1 entry:
|
Relocation section '.rel.ifunc' at offset 0x[0-9a-f]+ contains 1 entry:
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -d --wide
|
#readelf: -d --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
#failif
|
#failif
|
||||||
#...
|
#...
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -d --wide
|
#readelf: -d --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
#failif
|
#failif
|
||||||
#...
|
#...
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
#failif
|
#failif
|
||||||
#...
|
#...
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
#failif
|
#failif
|
||||||
#...
|
#...
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
#failif
|
#failif
|
||||||
#...
|
#...
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
#failif
|
#failif
|
||||||
#...
|
#...
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.got' at offset 0x[0-9a-f]+ contains 1 entry:
|
Relocation section '.rel.got' at offset 0x[0-9a-f]+ contains 1 entry:
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.plt' at .*
|
Relocation section '.rel.plt' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.plt' at .*
|
Relocation section '.rel.plt' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -s --wide
|
#readelf: -s --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
#...
|
#...
|
||||||
+[0-9]+: +[0-9a-f]+ +4 +OBJECT +GLOBAL +DEFAULT +[1-9] foo
|
+[0-9]+: +[0-9a-f]+ +4 +OBJECT +GLOBAL +DEFAULT +[1-9] foo
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -s --wide
|
#readelf: -s --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
#...
|
#...
|
||||||
+[0-9]+: +[0-9a-f]+ +4 +OBJECT +GLOBAL +DEFAULT +[1-9] foo
|
+[0-9]+: +[0-9a-f]+ +4 +OBJECT +GLOBAL +DEFAULT +[1-9] foo
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.ifunc' at .*
|
Relocation section '.rel.ifunc' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.ifunc' at .*
|
Relocation section '.rel.ifunc' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.ifunc' at .*
|
Relocation section '.rel.ifunc' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.ifunc' at .*
|
Relocation section '.rel.ifunc' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#objdump: -dw
|
#objdump: -dw
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
.*: +file format .*
|
.*: +file format .*
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#objdump: -dw
|
#objdump: -dw
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
#...
|
#...
|
||||||
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-f]+<\*ABS\*@plt>
|
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-f]+<\*ABS\*@plt>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#objdump: -dw
|
#objdump: -dw
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
.*: +file format .*
|
.*: +file format .*
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#objdump: -dw
|
#objdump: -dw
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
#...
|
#...
|
||||||
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-f]+<\*ABS\*@plt>
|
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-f]+<\*ABS\*@plt>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.ifunc' at offset 0x[0-9a-f]+ contains 1 entry:
|
Relocation section '.rel.ifunc' at offset 0x[0-9a-f]+ contains 1 entry:
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#as: --32 -mrelax-relocations=yes
|
#as: --32 -mrelax-relocations=yes
|
||||||
#objdump: -dw
|
#objdump: -dw
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
.*: +file format .*
|
.*: +file format .*
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#as: --32 -mrelax-relocations=yes
|
#as: --32 -mrelax-relocations=yes
|
||||||
#objdump: -dw
|
#objdump: -dw
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
.*: +file format .*
|
.*: +file format .*
|
||||||
|
|
||||||
|
@ -6,5 +6,7 @@ _start:
|
|||||||
ret
|
ret
|
||||||
.globl __start
|
.globl __start
|
||||||
__start:
|
__start:
|
||||||
|
.global _main
|
||||||
|
_main:
|
||||||
.data
|
.data
|
||||||
.dc.a foo
|
.dc.a foo
|
||||||
|
@ -7,5 +7,7 @@ _start:
|
|||||||
call foo@PLT
|
call foo@PLT
|
||||||
.globl __start
|
.globl __start
|
||||||
__start:
|
__start:
|
||||||
|
.global _main
|
||||||
|
_main:
|
||||||
.data
|
.data
|
||||||
.dc.a foo
|
.dc.a foo
|
||||||
|
@ -8,5 +8,7 @@ _start:
|
|||||||
call foo@PLT
|
call foo@PLT
|
||||||
.globl __start
|
.globl __start
|
||||||
__start:
|
__start:
|
||||||
|
.global _main
|
||||||
|
_main:
|
||||||
.data
|
.data
|
||||||
.dc.a foo
|
.dc.a foo
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
#ld: -shared
|
#ld: -shared
|
||||||
#readelf: -h
|
#readelf: -h
|
||||||
|
#xfail: alpha-*-*
|
||||||
|
|
||||||
ELF Header:
|
ELF Header:
|
||||||
#...
|
#...
|
||||||
OS/ABI: UNIX - GNU
|
+OS/ABI: +UNIX - (GNU|FreeBSD)
|
||||||
#pass
|
#pass
|
||||||
|
@ -13,6 +13,8 @@ _start:
|
|||||||
.type __start,"function"
|
.type __start,"function"
|
||||||
.global __start
|
.global __start
|
||||||
__start:
|
__start:
|
||||||
.type __start,"function"
|
.type _main,"function"
|
||||||
|
.global _main
|
||||||
|
_main:
|
||||||
call foo
|
call foo
|
||||||
movl $foo,%eax
|
movl $foo,%eax
|
||||||
|
@ -14,6 +14,8 @@ _start:
|
|||||||
.type __start,"function"
|
.type __start,"function"
|
||||||
.global __start
|
.global __start
|
||||||
__start:
|
__start:
|
||||||
.type __start,"function"
|
.type _main,"function"
|
||||||
|
.global _main
|
||||||
|
_main:
|
||||||
call foo
|
call foo
|
||||||
movl $foo,%eax
|
movl $foo,%eax
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.plt' at .*
|
Relocation section '.rel.plt' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.plt' at .*
|
Relocation section '.rel.plt' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.got' at .*
|
Relocation section '.rel.got' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.plt' at .*
|
Relocation section '.rel.plt' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.text' at .*
|
Relocation section '.rel.text' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.plt' at .*
|
Relocation section '.rel.plt' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.got' at .*
|
Relocation section '.rel.got' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.plt' at .*
|
Relocation section '.rel.plt' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.plt' at .*
|
Relocation section '.rel.plt' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.plt' at .*
|
Relocation section '.rel.plt' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#ld: -m elf_i386 --export-dynamic
|
#ld: -m elf_i386 --export-dynamic
|
||||||
#readelf: -r --wide
|
#readelf: -r --wide
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
Relocation section '.rel.plt' at .*
|
Relocation section '.rel.plt' at .*
|
||||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||||
|
@ -23,18 +23,27 @@
|
|||||||
# Written by Nick Clifton <nickc@redhat.com>
|
# Written by Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
|
||||||
# IFUNC support has only been implemented for the ix86, x86_64, powerpc,
|
if { ![is_elf_format] || ![supports_gnu_osabi]
|
||||||
# aarch64, sparc, and S/390 so far.
|
|| [istarget arc*-*-*]
|
||||||
if {!(([istarget "i?86-*-*"]
|
|| [istarget am33*-*-*]
|
||||||
|| [istarget "x86_64-*-*"]
|
|| [istarget bfin-*-*]
|
||||||
|| [istarget "powerpc*-*-*"]
|
|| [istarget cris*-*-*]
|
||||||
|| [istarget "aarch64*-*-*"]
|
|| [istarget frv-*-*]
|
||||||
|| [istarget "sparc*-*-*"]
|
|| [istarget lm32-*-*]
|
||||||
|| [istarget "s390*-*-*"])
|
|| [istarget m32r-*-*]
|
||||||
&& ([istarget "*-*-elf*"]
|
|| [istarget m68k-*-*]
|
||||||
|| [istarget "*-*-nacl*"]
|
|| [istarget microblaze-*-*]
|
||||||
|| [istarget "*-*-linux*"]
|
|| [istarget mips*-*-*]
|
||||||
|| [istarget "*-*-gnu*"])) } {
|
|| [istarget mn10300-*-*]
|
||||||
|
|| [istarget nds32*-*-*]
|
||||||
|
|| [istarget nios2-*-*]
|
||||||
|
|| [istarget or1k-*-*]
|
||||||
|
|| [istarget riscv*-*-*]
|
||||||
|
|| [istarget score*-*-*]
|
||||||
|
|| [istarget sh*-*-*]
|
||||||
|
|| [istarget tic6x-*-*]
|
||||||
|
|| [istarget tile*-*-*]
|
||||||
|
|| [istarget vax-*-*] } {
|
||||||
verbose "IFUNC tests not run - target does not support IFUNC"
|
verbose "IFUNC tests not run - target does not support IFUNC"
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -139,7 +148,7 @@ proc contains_irelative_reloc { binary_file } {
|
|||||||
# 080496f4 0000002a R_386_IRELATIVE
|
# 080496f4 0000002a R_386_IRELATIVE
|
||||||
|
|
||||||
|
|
||||||
if { ![regexp "\[0-9a-f\]+\[ \]+\[0-9a-f\]+\[ \]+R_\[_0-9A-Z\]+_IREL(|ATIVE)\[ \]*\[0-9a-f\]*\n" [file_contents readelf.out]] } {
|
if { ![regexp "\[0-9a-f\]+\[ \]+\[0-9a-f\]+\[ \]+R_(\[_0-9A-Z\]+_IREL(|ATIVE)|PARISC_IPLT)\[ \]*\[0-9a-f\]*\n" [file_contents readelf.out]] } {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ extern __typeof (library_func2) library_func2 __asm__ ("__GI_library_func2");
|
|||||||
|
|
||||||
__asm__(".global __GI_library_func2");
|
__asm__(".global __GI_library_func2");
|
||||||
__asm__(".hidden __GI_library_func2");
|
__asm__(".hidden __GI_library_func2");
|
||||||
__asm__(".set __GI_library_func2, library_func2");
|
__asm__("__GI_library_func2 = library_func2");
|
||||||
|
|
||||||
int
|
int
|
||||||
library_func (int x)
|
library_func (int x)
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#objdump: -dw
|
#objdump: -dw
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
.*: +file format .*
|
.*: +file format .*
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#as: --32
|
#as: --32
|
||||||
#objdump: -dw
|
#objdump: -dw
|
||||||
#target: x86_64-*-* i?86-*-*
|
#target: x86_64-*-* i?86-*-*
|
||||||
#notarget: x86_64-*-nacl* i?86-*-nacl*
|
#notarget: *-*-lynxos *-*-nacl* *-*-nto* *-*-solaris2*
|
||||||
|
|
||||||
#...
|
#...
|
||||||
0+180 <.*>:
|
0+180 <.*>:
|
||||||
|
Loading…
Reference in New Issue
Block a user