Commit | Line | Data |
---|---|---|
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 | .global ifunc | |
22 | ifunc: | |
23 | ret | |
24 | ||
25 | .section .data.foo,"aw",@progbits | |
26 | xxx: | |
27 | .long ifunc |