Drop @GOTPCREL when accessing local variables. For yet unknown reasons,
our version of GNU as decides to silently ignore it. Never versions on other systems and Clang actually keep it around and create bad object files. The object files are identical after the changes modulo the GOT entry in the symbol table.
This commit is contained in:
parent
3dd51f1b7e
commit
aa1008d816
|
@ -366,7 +366,7 @@ AES_encrypt:
|
||||||
movq %rbp,8(%rsp)
|
movq %rbp,8(%rsp)
|
||||||
|
|
||||||
|
|
||||||
leaq .LAES_Te+2048@GOTPCREL(%rip),%r14
|
leaq .LAES_Te+2048(%rip),%r14
|
||||||
leaq 768(%rsp),%rbp
|
leaq 768(%rsp),%rbp
|
||||||
subq %r14,%rbp
|
subq %r14,%rbp
|
||||||
andq $768,%rbp
|
andq $768,%rbp
|
||||||
|
@ -811,7 +811,7 @@ AES_decrypt:
|
||||||
movq %rbp,8(%rsp)
|
movq %rbp,8(%rsp)
|
||||||
|
|
||||||
|
|
||||||
leaq .LAES_Td+2048@GOTPCREL(%rip),%r14
|
leaq .LAES_Td+2048(%rip),%r14
|
||||||
leaq 768(%rsp),%rbp
|
leaq 768(%rsp),%rbp
|
||||||
subq %r14,%rbp
|
subq %r14,%rbp
|
||||||
andq $768,%rbp
|
andq $768,%rbp
|
||||||
|
@ -876,7 +876,7 @@ _x86_64_AES_set_encrypt_key:
|
||||||
testq $-1,%rdi
|
testq $-1,%rdi
|
||||||
jz .Lbadpointer
|
jz .Lbadpointer
|
||||||
|
|
||||||
leaq .LAES_Te@GOTPCREL(%rip),%rbp
|
leaq .LAES_Te(%rip),%rbp
|
||||||
leaq 2048+128(%rbp),%rbp
|
leaq 2048+128(%rbp),%rbp
|
||||||
|
|
||||||
|
|
||||||
|
@ -1141,7 +1141,7 @@ AES_set_decrypt_key:
|
||||||
cmpq %rsi,%rdi
|
cmpq %rsi,%rdi
|
||||||
jne .Linvert
|
jne .Linvert
|
||||||
|
|
||||||
leaq .LAES_Te+2048+1024@GOTPCREL(%rip),%rax
|
leaq .LAES_Te+2048+1024(%rip),%rax
|
||||||
|
|
||||||
movq 40(%rax),%rsi
|
movq 40(%rax),%rsi
|
||||||
movq 48(%rax),%rdi
|
movq 48(%rax),%rdi
|
||||||
|
@ -1309,10 +1309,10 @@ AES_cbc_encrypt:
|
||||||
cld
|
cld
|
||||||
movl %r9d,%r9d
|
movl %r9d,%r9d
|
||||||
|
|
||||||
leaq .LAES_Te@GOTPCREL(%rip),%r14
|
leaq .LAES_Te(%rip),%r14
|
||||||
cmpq $0,%r9
|
cmpq $0,%r9
|
||||||
jne .Lcbc_picked_te
|
jne .Lcbc_picked_te
|
||||||
leaq .LAES_Td@GOTPCREL(%rip),%r14
|
leaq .LAES_Td(%rip),%r14
|
||||||
.Lcbc_picked_te:
|
.Lcbc_picked_te:
|
||||||
|
|
||||||
movl OPENSSL_ia32cap_P@GOTPCREL(%rip),%r10d
|
movl OPENSSL_ia32cap_P@GOTPCREL(%rip),%r10d
|
||||||
|
|
|
@ -29,7 +29,7 @@ Camellia_EncryptBlock_Rounds:
|
||||||
movq %rdx,%r14
|
movq %rdx,%r14
|
||||||
|
|
||||||
shll $6,%edi
|
shll $6,%edi
|
||||||
leaq .LCamellia_SBOX@GOTPCREL(%rip),%rbp
|
leaq .LCamellia_SBOX(%rip),%rbp
|
||||||
leaq (%r14,%rdi,1),%r15
|
leaq (%r14,%rdi,1),%r15
|
||||||
|
|
||||||
movl 0(%rsi),%r8d
|
movl 0(%rsi),%r8d
|
||||||
|
@ -298,7 +298,7 @@ Camellia_DecryptBlock_Rounds:
|
||||||
movq %rdx,%r15
|
movq %rdx,%r15
|
||||||
|
|
||||||
shll $6,%edi
|
shll $6,%edi
|
||||||
leaq .LCamellia_SBOX@GOTPCREL(%rip),%rbp
|
leaq .LCamellia_SBOX(%rip),%rbp
|
||||||
leaq (%r15,%rdi,1),%r14
|
leaq (%r15,%rdi,1),%r14
|
||||||
|
|
||||||
movl 0(%rsi),%r8d
|
movl 0(%rsi),%r8d
|
||||||
|
@ -595,8 +595,8 @@ Camellia_Ekeygen:
|
||||||
xorl 12(%r13),%r10d
|
xorl 12(%r13),%r10d
|
||||||
|
|
||||||
.L1st128:
|
.L1st128:
|
||||||
leaq .LCamellia_SIGMA@GOTPCREL(%rip),%r14
|
leaq .LCamellia_SIGMA(%rip),%r14
|
||||||
leaq .LCamellia_SBOX@GOTPCREL(%rip),%rbp
|
leaq .LCamellia_SBOX(%rip),%rbp
|
||||||
|
|
||||||
movl 0(%r14),%ebx
|
movl 0(%r14),%ebx
|
||||||
movl 4(%r14),%eax
|
movl 4(%r14),%eax
|
||||||
|
@ -1638,7 +1638,7 @@ Camellia_cbc_encrypt:
|
||||||
movq %rbp,48(%rsp)
|
movq %rbp,48(%rsp)
|
||||||
|
|
||||||
.Lcbc_body:
|
.Lcbc_body:
|
||||||
leaq .LCamellia_SBOX@GOTPCREL(%rip),%rbp
|
leaq .LCamellia_SBOX(%rip),%rbp
|
||||||
|
|
||||||
movl $32,%ecx
|
movl $32,%ecx
|
||||||
.align 4
|
.align 4
|
||||||
|
|
|
@ -401,7 +401,7 @@ RC4_set_key:
|
||||||
.type RC4_options,@function
|
.type RC4_options,@function
|
||||||
.align 16
|
.align 16
|
||||||
RC4_options:
|
RC4_options:
|
||||||
leaq .Lopts@GOTPCREL(%rip),%rax
|
leaq .Lopts(%rip),%rax
|
||||||
movl OPENSSL_ia32cap_P@GOTPCREL(%rip),%edx
|
movl OPENSSL_ia32cap_P@GOTPCREL(%rip),%edx
|
||||||
btl $20,%edx
|
btl $20,%edx
|
||||||
jnc .Ldone
|
jnc .Ldone
|
||||||
|
|
|
@ -21,7 +21,7 @@ sha256_block_data_order:
|
||||||
movq %r11,64+24(%rsp)
|
movq %r11,64+24(%rsp)
|
||||||
.Lprologue:
|
.Lprologue:
|
||||||
|
|
||||||
leaq K256@GOTPCREL(%rip),%rbp
|
leaq K256(%rip),%rbp
|
||||||
|
|
||||||
movl 0(%rdi),%eax
|
movl 0(%rdi),%eax
|
||||||
movl 4(%rdi),%ebx
|
movl 4(%rdi),%ebx
|
||||||
|
|
|
@ -23,7 +23,7 @@ whirlpool_block:
|
||||||
.Lprologue:
|
.Lprologue:
|
||||||
|
|
||||||
movq %r10,%rbx
|
movq %r10,%rbx
|
||||||
leaq .Ltable@GOTPCREL(%rip),%rbp
|
leaq .Ltable(%rip),%rbp
|
||||||
|
|
||||||
xorq %rcx,%rcx
|
xorq %rcx,%rcx
|
||||||
xorq %rdx,%rdx
|
xorq %rdx,%rdx
|
||||||
|
|
Loading…
Reference in New Issue