Browse Source

Patch out unused aesni-x86_64 functions.

This shrinks the bssl binary by about 8k.

Change-Id: I571f258ccf7032ae34db3f20904ad9cc81cca839
Reviewed-on: https://boringssl-review.googlesource.com/c/34866
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
kris/onging/CECPQ3_patch15
David Benjamin 5 years ago
committed by CQ bot account: commit-bot@chromium.org
parent
commit
15ba2d11a9
1 changed files with 6 additions and 55 deletions
  1. +6
    -55
      crypto/fipsmodule/aes/asm/aesni-x86_64.pl

+ 6
- 55
crypto/fipsmodule/aes/asm/aesni-x86_64.pl View File

@@ -978,7 +978,7 @@ ___
# does not update *ivec! Nor does it finalize CMAC value
# (see engine/eng_aesni.c for details)
#
{
if (0) { # Omit these functions in BoringSSL
my $cmac="%r9"; # 6th argument

my $increment="%xmm9";
@@ -1770,7 +1770,7 @@ ___
# const AES_KEY *key1, const AES_KEY *key2
# const unsigned char iv[16]);
#
{
if (0) { # Omit these functions in BoringSSL
my @tweak=map("%xmm$_",(10..15));
my ($twmask,$twres,$twtmp)=("%xmm8","%xmm9",@tweak[4]);
my ($key2,$ivp,$len_)=("%r8","%r9","%r9");
@@ -2776,7 +2776,7 @@ ___
# unsigned char offset_i[16], const unsigned char L_[][16],
# unsigned char checksum[16]);
#
{
if (0) { # Omit these functions in BoringSSL
my @offset=map("%xmm$_",(10..15));
my ($checksum,$rndkey0l)=("%xmm8","%xmm9");
my ($block_num,$offset_p)=("%r8","%r9"); # 5th and 6th arguments
@@ -4854,6 +4854,9 @@ ctr_xts_se_handler:
jmp .Lcommon_seh_tail
.size ctr_xts_se_handler,.-ctr_xts_se_handler

___
# BoringSSL omits the OCB functions.
$code.=<<___ if (0);
.type ocb_se_handler,\@abi-omnipotent
.align 16
ocb_se_handler:
@@ -5005,33 +5008,9 @@ $code.=<<___ if ($PREFIX eq "aes_hw");
.rva .LSEH_end_${PREFIX}_ecb_encrypt
.rva .LSEH_info_ecb

.rva .LSEH_begin_${PREFIX}_ccm64_encrypt_blocks
.rva .LSEH_end_${PREFIX}_ccm64_encrypt_blocks
.rva .LSEH_info_ccm64_enc

.rva .LSEH_begin_${PREFIX}_ccm64_decrypt_blocks
.rva .LSEH_end_${PREFIX}_ccm64_decrypt_blocks
.rva .LSEH_info_ccm64_dec

.rva .LSEH_begin_${PREFIX}_ctr32_encrypt_blocks
.rva .LSEH_end_${PREFIX}_ctr32_encrypt_blocks
.rva .LSEH_info_ctr32

.rva .LSEH_begin_${PREFIX}_xts_encrypt
.rva .LSEH_end_${PREFIX}_xts_encrypt
.rva .LSEH_info_xts_enc

.rva .LSEH_begin_${PREFIX}_xts_decrypt
.rva .LSEH_end_${PREFIX}_xts_decrypt
.rva .LSEH_info_xts_dec

.rva .LSEH_begin_${PREFIX}_ocb_encrypt
.rva .LSEH_end_${PREFIX}_ocb_encrypt
.rva .LSEH_info_ocb_enc

.rva .LSEH_begin_${PREFIX}_ocb_decrypt
.rva .LSEH_end_${PREFIX}_ocb_decrypt
.rva .LSEH_info_ocb_dec
___
$code.=<<___;
.rva .LSEH_begin_${PREFIX}_cbc_encrypt
@@ -5053,38 +5032,10 @@ $code.=<<___ if ($PREFIX eq "aes_hw");
.byte 9,0,0,0
.rva ecb_ccm64_se_handler
.rva .Lecb_enc_body,.Lecb_enc_ret # HandlerData[]
.LSEH_info_ccm64_enc:
.byte 9,0,0,0
.rva ecb_ccm64_se_handler
.rva .Lccm64_enc_body,.Lccm64_enc_ret # HandlerData[]
.LSEH_info_ccm64_dec:
.byte 9,0,0,0
.rva ecb_ccm64_se_handler
.rva .Lccm64_dec_body,.Lccm64_dec_ret # HandlerData[]
.LSEH_info_ctr32:
.byte 9,0,0,0
.rva ctr_xts_se_handler
.rva .Lctr32_body,.Lctr32_epilogue # HandlerData[]
.LSEH_info_xts_enc:
.byte 9,0,0,0
.rva ctr_xts_se_handler
.rva .Lxts_enc_body,.Lxts_enc_epilogue # HandlerData[]
.LSEH_info_xts_dec:
.byte 9,0,0,0
.rva ctr_xts_se_handler
.rva .Lxts_dec_body,.Lxts_dec_epilogue # HandlerData[]
.LSEH_info_ocb_enc:
.byte 9,0,0,0
.rva ocb_se_handler
.rva .Locb_enc_body,.Locb_enc_epilogue # HandlerData[]
.rva .Locb_enc_pop
.long 0
.LSEH_info_ocb_dec:
.byte 9,0,0,0
.rva ocb_se_handler
.rva .Locb_dec_body,.Locb_dec_epilogue # HandlerData[]
.rva .Locb_dec_pop
.long 0
___
$code.=<<___;
.LSEH_info_cbc:


Loading…
Cancel
Save