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