blob: 8fa4cbf09d6e8499c3956bf79c7e7b0507a2646f [file] [log] [blame]
.text
.p2align 4
.globl protected_func_1b
.type protected_func_1b, @function
protected_func_1b:
.LFB11:
.cfi_startproc
movl $3, %eax
ret
.cfi_endproc
.LFE11:
.size protected_func_1b, .-protected_func_1b
.section .rodata.str1.8,"aMS",@progbits,1
.align 8
.LC0:
.string "'protected_func_1a' in main and shared library doesn't have same address"
.align 8
.LC1:
.string "'protected_func_1a' doesn't return the correct value"
.align 8
.LC2:
.string "'protected_func_1b' in main and shared library has same address"
.section .rodata.str1.1,"aMS",@progbits,1
.LC3:
.string "PASS"
.section .text.startup,"ax",@progbits
.p2align 4
.globl main
.type main, @function
main:
.LFB12:
.cfi_startproc
pushq %r12
.cfi_def_cfa_offset 16
.cfi_offset 12, -16
xorl %r12d, %r12d
call protected_func_1a_p
cmpq protected_func_1a@GOTPCREL(%rip), %rax
je .L4
leaq .LC0(%rip), %rdi
movl $1, %r12d
call puts
.L4:
call protected_func_1a
cmpl $1, %eax
jne .L13
call protected_func_1b_p
leaq protected_func_1b(%rip), %rdx
cmpq %rax, %rdx
je .L6
testl %r12d, %r12d
jne .L12
leaq .LC3(%rip), %rdi
call puts
movl %r12d, %eax
popq %r12
.cfi_remember_state
.cfi_def_cfa_offset 8
ret
.L13:
.cfi_restore_state
leaq .LC1(%rip), %rdi
call puts
call protected_func_1b_p
leaq protected_func_1b(%rip), %rdx
cmpq %rax, %rdx
je .L6
.L12:
movl $1, %r12d
movl %r12d, %eax
popq %r12
.cfi_remember_state
.cfi_def_cfa_offset 8
ret
.L6:
.cfi_restore_state
leaq .LC2(%rip), %rdi
call puts
jmp .L12
.cfi_endproc
.LFE12:
.size main, .-main
.section .note.GNU-stack,"",@progbits