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) 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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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