.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 ifunc: ret .section .data.foo,"aw",@progbits xxx: .quad ifunc