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:
joerg 2011-07-28 20:24:36 +00:00
parent 3dd51f1b7e
commit aa1008d816
5 changed files with 14 additions and 14 deletions

View File

@ -366,7 +366,7 @@ AES_encrypt:
movq %rbp,8(%rsp)
leaq .LAES_Te+2048@GOTPCREL(%rip),%r14
leaq .LAES_Te+2048(%rip),%r14
leaq 768(%rsp),%rbp
subq %r14,%rbp
andq $768,%rbp
@ -811,7 +811,7 @@ AES_decrypt:
movq %rbp,8(%rsp)
leaq .LAES_Td+2048@GOTPCREL(%rip),%r14
leaq .LAES_Td+2048(%rip),%r14
leaq 768(%rsp),%rbp
subq %r14,%rbp
andq $768,%rbp
@ -876,7 +876,7 @@ _x86_64_AES_set_encrypt_key:
testq $-1,%rdi
jz .Lbadpointer
leaq .LAES_Te@GOTPCREL(%rip),%rbp
leaq .LAES_Te(%rip),%rbp
leaq 2048+128(%rbp),%rbp
@ -1141,7 +1141,7 @@ AES_set_decrypt_key:
cmpq %rsi,%rdi
jne .Linvert
leaq .LAES_Te+2048+1024@GOTPCREL(%rip),%rax
leaq .LAES_Te+2048+1024(%rip),%rax
movq 40(%rax),%rsi
movq 48(%rax),%rdi
@ -1309,10 +1309,10 @@ AES_cbc_encrypt:
cld
movl %r9d,%r9d
leaq .LAES_Te@GOTPCREL(%rip),%r14
leaq .LAES_Te(%rip),%r14
cmpq $0,%r9
jne .Lcbc_picked_te
leaq .LAES_Td@GOTPCREL(%rip),%r14
leaq .LAES_Td(%rip),%r14
.Lcbc_picked_te:
movl OPENSSL_ia32cap_P@GOTPCREL(%rip),%r10d

View File

@ -29,7 +29,7 @@ Camellia_EncryptBlock_Rounds:
movq %rdx,%r14
shll $6,%edi
leaq .LCamellia_SBOX@GOTPCREL(%rip),%rbp
leaq .LCamellia_SBOX(%rip),%rbp
leaq (%r14,%rdi,1),%r15
movl 0(%rsi),%r8d
@ -298,7 +298,7 @@ Camellia_DecryptBlock_Rounds:
movq %rdx,%r15
shll $6,%edi
leaq .LCamellia_SBOX@GOTPCREL(%rip),%rbp
leaq .LCamellia_SBOX(%rip),%rbp
leaq (%r15,%rdi,1),%r14
movl 0(%rsi),%r8d
@ -595,8 +595,8 @@ Camellia_Ekeygen:
xorl 12(%r13),%r10d
.L1st128:
leaq .LCamellia_SIGMA@GOTPCREL(%rip),%r14
leaq .LCamellia_SBOX@GOTPCREL(%rip),%rbp
leaq .LCamellia_SIGMA(%rip),%r14
leaq .LCamellia_SBOX(%rip),%rbp
movl 0(%r14),%ebx
movl 4(%r14),%eax
@ -1638,7 +1638,7 @@ Camellia_cbc_encrypt:
movq %rbp,48(%rsp)
.Lcbc_body:
leaq .LCamellia_SBOX@GOTPCREL(%rip),%rbp
leaq .LCamellia_SBOX(%rip),%rbp
movl $32,%ecx
.align 4

View File

@ -401,7 +401,7 @@ RC4_set_key:
.type RC4_options,@function
.align 16
RC4_options:
leaq .Lopts@GOTPCREL(%rip),%rax
leaq .Lopts(%rip),%rax
movl OPENSSL_ia32cap_P@GOTPCREL(%rip),%edx
btl $20,%edx
jnc .Ldone

View File

@ -21,7 +21,7 @@ sha256_block_data_order:
movq %r11,64+24(%rsp)
.Lprologue:
leaq K256@GOTPCREL(%rip),%rbp
leaq K256(%rip),%rbp
movl 0(%rdi),%eax
movl 4(%rdi),%ebx

View File

@ -23,7 +23,7 @@ whirlpool_block:
.Lprologue:
movq %r10,%rbx
leaq .Ltable@GOTPCREL(%rip),%rbp
leaq .Ltable(%rip),%rbp
xorq %rcx,%rcx
xorq %rdx,%rdx