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