1 .section .text.foo,"ax",@progbits 2 .type foo, @function 3 foo: 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 15 bar: 16 .global bar 17 ret 18 19 .section .text.ifunc,"ax",@progbits 20 .type ifunc, @gnu_indirect_function 21 ifunc: 22 ret 23 24 .section .data.foo,"aw",@progbits 25 xxx: 26 .long ifunc 27