| .text |
| .globl bar |
| .type bar, @function |
| bar: |
| call __x86.get_pc_thunk.ax |
| addl $_GLOBAL_OFFSET_TABLE_, %eax |
| lea foo@GOT, %ecx |
| mov (%eax,%ecx,1), %eax |
| ret |
| .globl bar_ifunc |
| .type bar_ifunc, @function |
| bar_ifunc: |
| call __x86.get_pc_thunk.ax |
| addl $_GLOBAL_OFFSET_TABLE_, %eax |
| lea ifunc@GOT, %ecx |
| mov (%eax,%ecx,1), %eax |
| ret |
| .type ifunc, @gnu_indirect_function |
| ifunc: |
| mov $0xbadbeef, %eax |
| ret |
| .section .text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat |
| .globl __x86.get_pc_thunk.ax |
| .hidden __x86.get_pc_thunk.ax |
| .type __x86.get_pc_thunk.ax, @function |
| __x86.get_pc_thunk.ax: |
| movl (%esp), %eax |
| ret |
| .section .note.GNU-stack,"",@progbits |