diff options
Diffstat (limited to 'ld/testsuite/ld-ifunc')
25 files changed, 178 insertions, 69 deletions
diff --git a/ld/testsuite/ld-ifunc/ifunc-13-i386.d b/ld/testsuite/ld-ifunc/ifunc-13-i386.d index 677fa92..8dd3fed 100644 --- a/ld/testsuite/ld-ifunc/ifunc-13-i386.d +++ b/ld/testsuite/ld-ifunc/ifunc-13-i386.d @@ -8,7 +8,3 @@ Relocation section '.rel.ifunc' at offset 0x[0-9a-f]+ contains 1 entries: [ ]+Offset[ ]+Info[ ]+Type[ ]+.* [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_32[ ]+ifunc\(\)[ ]+ifunc - -Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries: -[ ]+Offset[ ]+Info[ ]+Type[ ]+.* -[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc diff --git a/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d index b01c735..1a1d061 100644 --- a/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d +++ b/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d @@ -8,7 +8,3 @@ Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entries: [ ]+Offset[ ]+Info[ ]+Type[ ]+.* [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_64[ ]+ifunc\(\)[ ]+ifunc \+ 0 - -Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries: -[ ]+Offset[ ]+Info[ ]+Type[ ]+.* -[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc \+ 0 diff --git a/ld/testsuite/ld-ifunc/ifunc-15-i386.d b/ld/testsuite/ld-ifunc/ifunc-15-i386.d index c37dd51..0d44ba1 100644 --- a/ld/testsuite/ld-ifunc/ifunc-15-i386.d +++ b/ld/testsuite/ld-ifunc/ifunc-15-i386.d @@ -7,7 +7,3 @@ Relocation section '.rel.got' at offset 0x[0-9a-f]+ contains 1 entries: [ ]+Offset[ ]+Info[ ]+Type[ ]+.* [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_GLOB_DAT[ ]+ifunc\(\)[ ]+ifunc - -Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries: -[ ]+Offset[ ]+Info[ ]+Type[ ]+.* -[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc diff --git a/ld/testsuite/ld-ifunc/ifunc-15-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-15-x86-64.d index a4a5cb1..8a28ec9 100644 --- a/ld/testsuite/ld-ifunc/ifunc-15-x86-64.d +++ b/ld/testsuite/ld-ifunc/ifunc-15-x86-64.d @@ -7,7 +7,3 @@ Relocation section '.rela.got' at offset 0x[0-9a-f]+ contains 1 entries: [ ]+Offset[ ]+Info[ ]+Type[ ]+.* [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_GLOB_DAT[ ]+ifunc\(\)[ ]+ifunc \+ 0 - -Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries: -[ ]+Offset[ ]+Info[ ]+Type[ ]+.* -[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc \+ 0 diff --git a/ld/testsuite/ld-ifunc/ifunc-18a-i386.d b/ld/testsuite/ld-ifunc/ifunc-18a-i386.d index 10490b1..7c392fb 100644 --- a/ld/testsuite/ld-ifunc/ifunc-18a-i386.d +++ b/ld/testsuite/ld-ifunc/ifunc-18a-i386.d @@ -12,4 +12,3 @@ Relocation section '.rel.ifunc' at .* Relocation section '.rel.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_IRELATIVE[ ]* -[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_IRELATIVE[ ]* diff --git a/ld/testsuite/ld-ifunc/ifunc-18a-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-18a-x86-64.d index 0d600eb..e9d6031 100644 --- a/ld/testsuite/ld-ifunc/ifunc-18a-x86-64.d +++ b/ld/testsuite/ld-ifunc/ifunc-18a-x86-64.d @@ -12,4 +12,3 @@ Relocation section '.rela.ifunc' at .* Relocation section '.rela.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_IRELATIVE[ ]+[0-9a-f]* -[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_IRELATIVE[ ]+[0-9a-f]* diff --git a/ld/testsuite/ld-ifunc/ifunc-18a.s b/ld/testsuite/ld-ifunc/ifunc-18a.s index c29c121..f68c151 100644 --- a/ld/testsuite/ld-ifunc/ifunc-18a.s +++ b/ld/testsuite/ld-ifunc/ifunc-18a.s @@ -1,5 +1,5 @@ .section .data.rel,"aw",@progbits - .globl foo_ptrt + .globl foo_ptr .type foo_ptr, @object foo_ptr: .dc.a foo diff --git a/ld/testsuite/ld-ifunc/ifunc-18b-i386.d b/ld/testsuite/ld-ifunc/ifunc-18b-i386.d index a5eda94..4b63c57 100644 --- a/ld/testsuite/ld-ifunc/ifunc-18b-i386.d +++ b/ld/testsuite/ld-ifunc/ifunc-18b-i386.d @@ -12,4 +12,3 @@ Relocation section '.rel.ifunc' at .* Relocation section '.rel.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_IRELATIVE[ ]* -[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_IRELATIVE[ ]* diff --git a/ld/testsuite/ld-ifunc/ifunc-18b-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-18b-x86-64.d index 8dfebfb..b4ff6c3 100644 --- a/ld/testsuite/ld-ifunc/ifunc-18b-x86-64.d +++ b/ld/testsuite/ld-ifunc/ifunc-18b-x86-64.d @@ -12,4 +12,3 @@ Relocation section '.rela.ifunc' at .* Relocation section '.rela.plt' at .* [ ]+Offset[ ]+Info[ ]+Type[ ]+.* [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_IRELATIVE[ ]+[0-9a-f]* -[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_IRELATIVE[ ]+[0-9a-f]* diff --git a/ld/testsuite/ld-ifunc/ifunc-21-i386.d b/ld/testsuite/ld-ifunc/ifunc-21-i386.d index e609dbe..d61ccd0 100644 --- a/ld/testsuite/ld-ifunc/ifunc-21-i386.d +++ b/ld/testsuite/ld-ifunc/ifunc-21-i386.d @@ -5,18 +5,20 @@ .*: +file format .* -#... -0+8048090 <__start>: -[ ]*[a-f0-9]+: ff 93 0c 00 00 00 call \*0xc\(%ebx\) -[ ]*[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\) -[ ]*[a-f0-9]+: 03 83 0c 00 00 00 add 0xc\(%ebx\),%eax -[ ]*[a-f0-9]+: 8b 83 0c 00 00 00 mov 0xc\(%ebx\),%eax -[ ]*[a-f0-9]+: 85 83 0c 00 00 00 test %eax,0xc\(%ebx\) -[ ]*[a-f0-9]+: c7 c0 b5 80 04 08 mov \$0x80480b5,%eax -0+80480b4 <foo>: -[ ]*[a-f0-9]+: c3 ret +Disassembly of section .text: -0+80480b5 <bar>: -[ ]*[a-f0-9]+: c3 ret +0+804807c <__start>: + +[a-f0-9]+: ff 93 fc ff ff ff call \*-0x4\(%ebx\) + +[a-f0-9]+: ff a3 fc ff ff ff jmp \*-0x4\(%ebx\) + +[a-f0-9]+: 03 83 fc ff ff ff add -0x4\(%ebx\),%eax + +[a-f0-9]+: 8b 83 fc ff ff ff mov -0x4\(%ebx\),%eax + +[a-f0-9]+: 85 83 fc ff ff ff test %eax,-0x4\(%ebx\) + +[a-f0-9]+: c7 c0 a1 80 04 08 mov \$0x80480a1,%eax + +0+80480a0 <foo>: + +[a-f0-9]+: c3 ret + +0+80480a1 <bar>: + +[a-f0-9]+: c3 ret #pass diff --git a/ld/testsuite/ld-ifunc/ifunc-21-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-21-x86-64.d index e28734e..4e3582d 100644 --- a/ld/testsuite/ld-ifunc/ifunc-21-x86-64.d +++ b/ld/testsuite/ld-ifunc/ifunc-21-x86-64.d @@ -5,18 +5,20 @@ .*: +file format .* -#... -0+4000e0 <__start>: -[ ]*[a-f0-9]+: ff 15 42 00 20 00 callq \*0x200042\(%rip\) # 600128 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: ff 25 3c 00 20 00 jmpq \*0x20003c\(%rip\) # 600128 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: 48 03 05 35 00 20 00 add 0x200035\(%rip\),%rax # 600128 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: 48 8b 05 2e 00 20 00 mov 0x20002e\(%rip\),%rax # 600128 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: 48 85 05 27 00 20 00 test %rax,0x200027\(%rip\) # 600128 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: 48 c7 c0 09 01 40 00 mov \$0x400109,%rax -0+400108 <foo>: -[ ]*[a-f0-9]+: c3 retq +Disassembly of section .text: -0+400109 <bar>: -[ ]*[a-f0-9]+: c3 retq +0+4000c8 <__start>: + +[a-f0-9]+: ff 15 2a 00 20 00 callq \*0x20002a\(%rip\) # 6000f8 <bar\+0x200007> + +[a-f0-9]+: ff 25 24 00 20 00 jmpq \*0x200024\(%rip\) # 6000f8 <bar\+0x200007> + +[a-f0-9]+: 48 03 05 1d 00 20 00 add 0x20001d\(%rip\),%rax # 6000f8 <bar\+0x200007> + +[a-f0-9]+: 48 8b 05 16 00 20 00 mov 0x200016\(%rip\),%rax # 6000f8 <bar\+0x200007> + +[a-f0-9]+: 48 85 05 0f 00 20 00 test %rax,0x20000f\(%rip\) # 6000f8 <bar\+0x200007> + +[a-f0-9]+: 48 c7 c0 f1 00 40 00 mov \$0x4000f1,%rax + +0+4000f0 <foo>: + +[a-f0-9]+: c3 retq + +0+4000f1 <bar>: + +[a-f0-9]+: c3 retq #pass diff --git a/ld/testsuite/ld-ifunc/ifunc-22-i386.d b/ld/testsuite/ld-ifunc/ifunc-22-i386.d index e609dbe..d61ccd0 100644 --- a/ld/testsuite/ld-ifunc/ifunc-22-i386.d +++ b/ld/testsuite/ld-ifunc/ifunc-22-i386.d @@ -5,18 +5,20 @@ .*: +file format .* -#... -0+8048090 <__start>: -[ ]*[a-f0-9]+: ff 93 0c 00 00 00 call \*0xc\(%ebx\) -[ ]*[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\) -[ ]*[a-f0-9]+: 03 83 0c 00 00 00 add 0xc\(%ebx\),%eax -[ ]*[a-f0-9]+: 8b 83 0c 00 00 00 mov 0xc\(%ebx\),%eax -[ ]*[a-f0-9]+: 85 83 0c 00 00 00 test %eax,0xc\(%ebx\) -[ ]*[a-f0-9]+: c7 c0 b5 80 04 08 mov \$0x80480b5,%eax -0+80480b4 <foo>: -[ ]*[a-f0-9]+: c3 ret +Disassembly of section .text: -0+80480b5 <bar>: -[ ]*[a-f0-9]+: c3 ret +0+804807c <__start>: + +[a-f0-9]+: ff 93 fc ff ff ff call \*-0x4\(%ebx\) + +[a-f0-9]+: ff a3 fc ff ff ff jmp \*-0x4\(%ebx\) + +[a-f0-9]+: 03 83 fc ff ff ff add -0x4\(%ebx\),%eax + +[a-f0-9]+: 8b 83 fc ff ff ff mov -0x4\(%ebx\),%eax + +[a-f0-9]+: 85 83 fc ff ff ff test %eax,-0x4\(%ebx\) + +[a-f0-9]+: c7 c0 a1 80 04 08 mov \$0x80480a1,%eax + +0+80480a0 <foo>: + +[a-f0-9]+: c3 ret + +0+80480a1 <bar>: + +[a-f0-9]+: c3 ret #pass diff --git a/ld/testsuite/ld-ifunc/ifunc-22-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-22-x86-64.d index e28734e..4e3582d 100644 --- a/ld/testsuite/ld-ifunc/ifunc-22-x86-64.d +++ b/ld/testsuite/ld-ifunc/ifunc-22-x86-64.d @@ -5,18 +5,20 @@ .*: +file format .* -#... -0+4000e0 <__start>: -[ ]*[a-f0-9]+: ff 15 42 00 20 00 callq \*0x200042\(%rip\) # 600128 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: ff 25 3c 00 20 00 jmpq \*0x20003c\(%rip\) # 600128 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: 48 03 05 35 00 20 00 add 0x200035\(%rip\),%rax # 600128 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: 48 8b 05 2e 00 20 00 mov 0x20002e\(%rip\),%rax # 600128 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: 48 85 05 27 00 20 00 test %rax,0x200027\(%rip\) # 600128 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: 48 c7 c0 09 01 40 00 mov \$0x400109,%rax -0+400108 <foo>: -[ ]*[a-f0-9]+: c3 retq +Disassembly of section .text: -0+400109 <bar>: -[ ]*[a-f0-9]+: c3 retq +0+4000c8 <__start>: + +[a-f0-9]+: ff 15 2a 00 20 00 callq \*0x20002a\(%rip\) # 6000f8 <bar\+0x200007> + +[a-f0-9]+: ff 25 24 00 20 00 jmpq \*0x200024\(%rip\) # 6000f8 <bar\+0x200007> + +[a-f0-9]+: 48 03 05 1d 00 20 00 add 0x20001d\(%rip\),%rax # 6000f8 <bar\+0x200007> + +[a-f0-9]+: 48 8b 05 16 00 20 00 mov 0x200016\(%rip\),%rax # 6000f8 <bar\+0x200007> + +[a-f0-9]+: 48 85 05 0f 00 20 00 test %rax,0x20000f\(%rip\) # 6000f8 <bar\+0x200007> + +[a-f0-9]+: 48 c7 c0 f1 00 40 00 mov \$0x4000f1,%rax + +0+4000f0 <foo>: + +[a-f0-9]+: c3 retq + +0+4000f1 <bar>: + +[a-f0-9]+: c3 retq #pass diff --git a/ld/testsuite/ld-ifunc/ifunc-23-x86.s b/ld/testsuite/ld-ifunc/ifunc-23-x86.s new file mode 100644 index 0000000..69c2279 --- /dev/null +++ b/ld/testsuite/ld-ifunc/ifunc-23-x86.s @@ -0,0 +1,10 @@ + .type foo,%gnu_indirect_function +foo: + ret + .globl _start +_start: + ret + .globl __start +__start: + .data + .dc.a foo diff --git a/ld/testsuite/ld-ifunc/ifunc-23a-x86.d b/ld/testsuite/ld-ifunc/ifunc-23a-x86.d new file mode 100644 index 0000000..47ec5d1 --- /dev/null +++ b/ld/testsuite/ld-ifunc/ifunc-23a-x86.d @@ -0,0 +1,8 @@ +#source: ifunc-23-x86.s +#ld: +#readelf: -r --wide +#target: x86_64-*-* i?86-*-* + +Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Sym.* Value +Symbol's Name.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]* diff --git a/ld/testsuite/ld-ifunc/ifunc-23b-x86.d b/ld/testsuite/ld-ifunc/ifunc-23b-x86.d new file mode 100644 index 0000000..dbe2ec1 --- /dev/null +++ b/ld/testsuite/ld-ifunc/ifunc-23b-x86.d @@ -0,0 +1,8 @@ +#source: ifunc-23-x86.s +#ld: -pie +#readelf: -r --wide +#target: x86_64-*-* i?86-*-* + +Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Sym.* Value +Symbol's Name.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]* diff --git a/ld/testsuite/ld-ifunc/ifunc-23c-x86.d b/ld/testsuite/ld-ifunc/ifunc-23c-x86.d new file mode 100644 index 0000000..dc7e5c1 --- /dev/null +++ b/ld/testsuite/ld-ifunc/ifunc-23c-x86.d @@ -0,0 +1,8 @@ +#source: ifunc-23-x86.s +#ld: -shared +#readelf: -r --wide +#target: x86_64-*-* i?86-*-* + +Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Sym.* Value +Symbol's Name.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]* diff --git a/ld/testsuite/ld-ifunc/ifunc-24-x86.s b/ld/testsuite/ld-ifunc/ifunc-24-x86.s new file mode 100644 index 0000000..967cdf6 --- /dev/null +++ b/ld/testsuite/ld-ifunc/ifunc-24-x86.s @@ -0,0 +1,11 @@ + .text + .type foo,%gnu_indirect_function +foo: + ret + .globl _start +_start: + call foo@PLT + .globl __start +__start: + .data + .dc.a foo diff --git a/ld/testsuite/ld-ifunc/ifunc-24a-x86.d b/ld/testsuite/ld-ifunc/ifunc-24a-x86.d new file mode 100644 index 0000000..78bd4e2 --- /dev/null +++ b/ld/testsuite/ld-ifunc/ifunc-24a-x86.d @@ -0,0 +1,8 @@ +#source: ifunc-24-x86.s +#ld: +#readelf: -r --wide +#target: x86_64-*-* i?86-*-* + +Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Sym.* Value +Symbol's Name.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]* diff --git a/ld/testsuite/ld-ifunc/ifunc-24b-x86.d b/ld/testsuite/ld-ifunc/ifunc-24b-x86.d new file mode 100644 index 0000000..c73b019 --- /dev/null +++ b/ld/testsuite/ld-ifunc/ifunc-24b-x86.d @@ -0,0 +1,12 @@ +#source: ifunc-24-x86.s +#ld: -pie +#readelf: -r --wide +#target: x86_64-*-* i?86-*-* + +Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Sym.* Value +Symbol's Name.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]* + +Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Sym.* Value +Symbol's Name.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]* diff --git a/ld/testsuite/ld-ifunc/ifunc-24c-x86.d b/ld/testsuite/ld-ifunc/ifunc-24c-x86.d new file mode 100644 index 0000000..db16754 --- /dev/null +++ b/ld/testsuite/ld-ifunc/ifunc-24c-x86.d @@ -0,0 +1,12 @@ +#source: ifunc-24-x86.s +#ld: -shared +#readelf: -r --wide +#target: x86_64-*-* i?86-*-* + +Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Sym.* Value +Symbol's Name.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]* + +Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Sym.* Value +Symbol's Name.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]* diff --git a/ld/testsuite/ld-ifunc/ifunc-25-x86.s b/ld/testsuite/ld-ifunc/ifunc-25-x86.s new file mode 100644 index 0000000..0549cbf --- /dev/null +++ b/ld/testsuite/ld-ifunc/ifunc-25-x86.s @@ -0,0 +1,12 @@ + .text + .globl foo + .type foo,%gnu_indirect_function +foo: + ret + .globl _start +_start: + call foo@PLT + .globl __start +__start: + .data + .dc.a foo diff --git a/ld/testsuite/ld-ifunc/ifunc-25a-x86.d b/ld/testsuite/ld-ifunc/ifunc-25a-x86.d new file mode 100644 index 0000000..0f37f52 --- /dev/null +++ b/ld/testsuite/ld-ifunc/ifunc-25a-x86.d @@ -0,0 +1,8 @@ +#source: ifunc-25-x86.s +#ld: +#readelf: -r --wide +#target: x86_64-*-* i?86-*-* + +Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Sym.* Value +Symbol's Name.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]* diff --git a/ld/testsuite/ld-ifunc/ifunc-25b-x86.d b/ld/testsuite/ld-ifunc/ifunc-25b-x86.d new file mode 100644 index 0000000..96b0ed5 --- /dev/null +++ b/ld/testsuite/ld-ifunc/ifunc-25b-x86.d @@ -0,0 +1,12 @@ +#source: ifunc-25-x86.s +#ld: -pie +#readelf: -r --wide +#target: x86_64-*-* i?86-*-* + +Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Sym.* Value +Symbol's Name.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]* + +Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Sym.* Value +Symbol's Name.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]* diff --git a/ld/testsuite/ld-ifunc/ifunc-25c-x86.d b/ld/testsuite/ld-ifunc/ifunc-25c-x86.d new file mode 100644 index 0000000..f9c08dc --- /dev/null +++ b/ld/testsuite/ld-ifunc/ifunc-25c-x86.d @@ -0,0 +1,12 @@ +#source: ifunc-25-x86.s +#ld: -shared +#readelf: -r --wide +#target: x86_64-*-* i?86-*-* + +Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Sym.* Value +Symbol's Name.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)_(32|64) +foo\(\) +foo( \+ 0|) + +Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Sym.* Value +Symbol's Name.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)_JUMP_SLOT +foo\(\) +foo( \+ 0|) |