Add symbols/cfi for assembly functions.

This is needed for some binary analysis programs (BOLT, in this case) to
find all the code.  A little ugly since we're putting labels that are
named as if they are local only in the global symbol table, but whatever,
there is plenty ugly and weird stuff in these assembly functions...
This commit is contained in:
Nolan Leake 2019-02-11 14:07:47 -08:00 committed by Jeffrey Griffin
parent 9da699f981
commit 9ea9ad65e6

View File

@ -1407,10 +1407,16 @@ __aesni_set_encrypt_key:
.cfi_adjust_cfa_offset -8
ret
.cfi_endproc
.size GFp_${PREFIX}_set_encrypt_key,.-GFp_${PREFIX}_set_encrypt_key
.size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key
.LSEH_end_GFp_set_encrypt_key:
.align 16
.globl .Lkey_expansion_128
.type .Lkey_expansion_128,\@abi-omnipotent
.Lkey_expansion_128:
.cfi_startproc
$movkey %xmm0,(%rax)
lea 16(%rax),%rax
.Lkey_expansion_128_cold:
@ -1421,39 +1427,13 @@ __aesni_set_encrypt_key:
shufps \$0b11111111,%xmm1,%xmm1 # critical path
xorps %xmm1,%xmm0
ret
.align 16
.Lkey_expansion_192a:
$movkey %xmm0,(%rax)
lea 16(%rax),%rax
.Lkey_expansion_192a_cold:
movaps %xmm2, %xmm5
.Lkey_expansion_192b_warm:
shufps \$0b00010000,%xmm0,%xmm4
movdqa %xmm2,%xmm3
xorps %xmm4,%xmm0
shufps \$0b10001100,%xmm0,%xmm4
pslldq \$4,%xmm3
xorps %xmm4,%xmm0
pshufd \$0b01010101,%xmm1,%xmm1 # critical path
pxor %xmm3,%xmm2
pxor %xmm1,%xmm0
pshufd \$0b11111111,%xmm0,%xmm3
pxor %xmm3,%xmm2
ret
.align 16
.Lkey_expansion_192b:
movaps %xmm0,%xmm3
shufps \$0b01000100,%xmm0,%xmm5
$movkey %xmm5,(%rax)
shufps \$0b01001110,%xmm2,%xmm3
$movkey %xmm3,16(%rax)
lea 32(%rax),%rax
jmp .Lkey_expansion_192b_warm
.cfi_endproc
.align 16
.globl .Lkey_expansion_256a
.type .Lkey_expansion_256a,\@abi-omnipotent
.Lkey_expansion_256a:
.cfi_startproc
$movkey %xmm2,(%rax)
lea 16(%rax),%rax
.Lkey_expansion_256a_cold:
@ -1464,9 +1444,13 @@ __aesni_set_encrypt_key:
shufps \$0b11111111,%xmm1,%xmm1 # critical path
xorps %xmm1,%xmm0
ret
.cfi_endproc
.align 16
.globl .Lkey_expansion_256b
.type .Lkey_expansion_256b,\@abi-omnipotent
.Lkey_expansion_256b:
.cfi_startproc
$movkey %xmm0,(%rax)
lea 16(%rax),%rax
@ -1477,8 +1461,7 @@ __aesni_set_encrypt_key:
shufps \$0b10101010,%xmm1,%xmm1 # critical path
xorps %xmm1,%xmm2
ret
.size GFp_${PREFIX}_set_encrypt_key,.-GFp_${PREFIX}_set_encrypt_key
.size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key
.cfi_endproc
___
}