blob: da8956139fe70bfd9917f34950068460383b1e61 [file] [log] [blame]
.section .rodata.str1.8,"aMS",@progbits,1
.align 8
.LC0:
.string "'protected_data_1a' in main and shared library doesn't have same address"
.align 8
.LC1:
.string "'protected_data_1a' in main and shared library doesn't have same value"
.align 8
.LC2:
.string "'protected_data_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,,15
.globl main
.type main, @function
main:
.LFB11:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
xorl %eax, %eax
pushq %rbx
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
xorl %ebx, %ebx
subq $8, %rsp
.cfi_def_cfa_offset 32
call protected_data_1a_p
movq protected_data_1a@GOTPCREL(%rip), %rbp
cmpq %rbp, %rax
je .L2
leaq .LC0(%rip), %rdi
movb $1, %bl
call puts
.L2:
movl $-1, %edi
movl $-1, 0(%rbp)
call check_protected_data_1a
testl %eax, %eax
jne .L17
.L3:
movl $-3, %edi
call set_protected_data_1a
cmpl $-3, 0(%rbp)
je .L4
leaq .LC1(%rip), %rdi
movl $1, %ebx
call puts
.L4:
xorl %eax, %eax
call protected_data_1b_p
leaq protected_data_1b(%rip), %rdx
cmpq %rdx, %rax
je .L18
.L5:
movl $2, %edi
movl $-10, protected_data_1b(%rip)
call check_protected_data_1b
testl %eax, %eax
jne .L19
movl $-30, %edi
call set_protected_data_1b
cmpl $-10, protected_data_1b(%rip)
je .L9
.L7:
leaq .LC2(%rip), %rdi
movl $1, %ebx
call puts
.L8:
addq $8, %rsp
.cfi_remember_state
.cfi_def_cfa_offset 24
movl %ebx, %eax
popq %rbx
.cfi_def_cfa_offset 16
popq %rbp
.cfi_def_cfa_offset 8
ret
.L9:
.cfi_restore_state
testl %ebx, %ebx
jne .L11
leaq .LC3(%rip), %rdi
call puts
jmp .L8
.L19:
leaq .LC2(%rip), %rdi
call puts
movl $-30, %edi
call set_protected_data_1b
cmpl $-10, protected_data_1b(%rip)
jne .L7
.L11:
movl $1, %ebx
jmp .L8
.L17:
leaq .LC1(%rip), %rdi
movl $1, %ebx
call puts
jmp .L3
.L18:
leaq .LC2(%rip), %rdi
movl $1, %ebx
call puts
jmp .L5
.cfi_endproc
.LFE11:
.size main, .-main
.globl protected_data_1b
.data
.align 4
.type protected_data_1b, @object
.size protected_data_1b, 4
protected_data_1b:
.long 3
.section .note.GNU-stack,"",@progbits