1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
.section .text.foo,"ax",@progbits .type foo, @function foo: .global foo movl ifunc@GOTPCREL(%rip), %eax movl ifunc(%rip), %eax call ifunc@PLT call ifunc movl xxx(%rip), %eax ret .section .text.bar,"ax",@progbits .type bar, @function bar: .global bar ret .section .text.ifunc,"ax",@progbits .type ifunc, @gnu_indirect_function .global ifunc ifunc: ret .section .data.foo,"aw",@progbits xxx: .quad ifunc