blob: 4a6a62e115a7846c3213be616d8b06d409e44cfd [file] [log] [blame]
.file "ifunc.c"
#APP
.type func, %indirect_function
.type long_func_name, %indirect_function
.section .rodata.str1.1,"aMS",@progbits,1
.LC0:
.string "arg is %d\n"
#NO_APP
.text
.p2align 4,,15
.globl bar
.type bar, @function
bar:
.LFB25:
movl %edi, %esi
xorl %eax, %eax
movl $.LC0, %edi
jmp printf
.LFE25:
.size bar, .-bar
.section .rodata.str1.1
.LC1:
.string "main: calling func"
.section .rodata.str1.8,"aMS",@progbits,1
.align 8
.LC2:
.string "main: func finished, calling long_func_name"
.section .rodata.str1.1
.LC3:
.string "main: long_func_name finished"
.text
.p2align 4,,15
.globl main
.type main, @function
main:
.LFB24:
subq $8, %rsp
.LCFI0:
movl $.LC1, %edi
call puts
call func
movl $.LC2, %edi
call puts
call long_func_name
movl $.LC3, %edi
call puts
xorl %eax, %eax
addq $8, %rsp
ret
.LFE24:
.size main, .-main
.p2align 4,,15
.globl long_func_name
.type long_func_name, @function
long_func_name:
.LFB23:
subq $8, %rsp
.LCFI1:
call rand
movl %eax, %edx
movl $func1, %eax
testl %edx, %edx
movl $func0, %edx
cmovne %rdx, %rax
addq $8, %rsp
ret
.LFE23:
.size long_func_name, .-long_func_name
.p2align 4,,15
.globl func
.type func, @function
func:
.LFB22:
subq $8, %rsp
.LCFI2:
call rand
movl %eax, %edx
movl $func1, %eax
testl %edx, %edx
movl $func0, %edx
cmovne %rdx, %rax
addq $8, %rsp
ret
.LFE22:
.size func, .-func
.section .rodata.str1.1
.LC4:
.string "func1\n"
.text
.p2align 4,,15
.globl func1
.type func1, @function
func1:
.LFB21:
movl $.LC4, %edi
jmp puts
.LFE21:
.size func1, .-func1
.section .rodata.str1.1
.LC5:
.string "func0\n"
.text
.p2align 4,,15
.globl func0
.type func0, @function
func0:
.LFB20:
movl $.LC5, %edi
jmp puts
.LFE20:
.size func0, .-func0
.section .eh_frame,"a",@progbits
.Lframe1:
.long .LECIE1-.LSCIE1
.LSCIE1:
.long 0x0
.byte 0x1
.string "zR"
.uleb128 0x1
.sleb128 -8
.byte 0x10
.uleb128 0x1
.byte 0x3
.byte 0xc
.uleb128 0x7
.uleb128 0x8
.byte 0x90
.uleb128 0x1
.align 8
.LECIE1:
.LSFDE1:
.long .LEFDE1-.LASFDE1
.LASFDE1:
.long .LASFDE1-.Lframe1
.long .LFB25
.long .LFE25-.LFB25
.uleb128 0x0
.align 8
.LEFDE1:
.LSFDE3:
.long .LEFDE3-.LASFDE3
.LASFDE3:
.long .LASFDE3-.Lframe1
.long .LFB24
.long .LFE24-.LFB24
.uleb128 0x0
.byte 0x4
.long .LCFI0-.LFB24
.byte 0xe
.uleb128 0x10
.align 8
.LEFDE3:
.LSFDE5:
.long .LEFDE5-.LASFDE5
.LASFDE5:
.long .LASFDE5-.Lframe1
.long .LFB23
.long .LFE23-.LFB23
.uleb128 0x0
.byte 0x4
.long .LCFI1-.LFB23
.byte 0xe
.uleb128 0x10
.align 8
.LEFDE5:
.LSFDE7:
.long .LEFDE7-.LASFDE7
.LASFDE7:
.long .LASFDE7-.Lframe1
.long .LFB22
.long .LFE22-.LFB22
.uleb128 0x0
.byte 0x4
.long .LCFI2-.LFB22
.byte 0xe
.uleb128 0x10
.align 8
.LEFDE7:
.LSFDE9:
.long .LEFDE9-.LASFDE9
.LASFDE9:
.long .LASFDE9-.Lframe1
.long .LFB21
.long .LFE21-.LFB21
.uleb128 0x0
.align 8
.LEFDE9:
.LSFDE11:
.long .LEFDE11-.LASFDE11
.LASFDE11:
.long .LASFDE11-.Lframe1
.long .LFB20
.long .LFE20-.LFB20
.uleb128 0x0
.align 8
.LEFDE11:
.ident "GCC: (GNU) 4.3.0 20080428 (Red Hat 4.3.0-8)"
.section .note.GNU-stack,"",@progbits