Merge pull request #10145 from gabor-mezei-arm/remove_sha3_config_option

Remove `MBEDTLS_SHA3_C` config option
This commit is contained in:
Manuel Pégourié-Gonnard 2025-06-10 09:57:22 +00:00 committed by GitHub
commit cdd91da1af
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 44 additions and 33 deletions

View File

@ -290,7 +290,10 @@ const selftest_t selftests[] =
#if defined(MBEDTLS_SHA512_C) #if defined(MBEDTLS_SHA512_C)
{ "sha512", mbedtls_sha512_self_test }, { "sha512", mbedtls_sha512_self_test },
#endif #endif
#if defined(MBEDTLS_SHA3_C) #if defined(PSA_WANT_ALG_SHA3_224) || \
defined(PSA_WANT_ALG_SHA3_256) || \
defined(PSA_WANT_ALG_SHA3_384) || \
defined(PSA_WANT_ALG_SHA3_512)
{ "sha3", mbedtls_sha3_self_test }, { "sha3", mbedtls_sha3_self_test },
#endif #endif
#if defined(MBEDTLS_DES_C) #if defined(MBEDTLS_DES_C)

View File

@ -96,8 +96,8 @@ foreach my $file (@files) {
} }
} }
my $ll_old_define = ""; my @ll_old_define = ("", "", "");
my $hl_old_define = ""; my @hl_old_define = ("", "", "");
my $ll_code_check = ""; my $ll_code_check = "";
my $hl_code_check = ""; my $hl_code_check = "";
@ -129,6 +129,14 @@ foreach my $match (@matches)
$define_name = "SSL_TLS" if ($define_name eq "SSL"); $define_name = "SSL_TLS" if ($define_name eq "SSL");
$define_name = "PEM_PARSE,PEM_WRITE" if ($define_name eq "PEM"); $define_name = "PEM_PARSE,PEM_WRITE" if ($define_name eq "PEM");
$define_name = "PKCS7" if ($define_name eq "PKCS7"); $define_name = "PKCS7" if ($define_name eq "PKCS7");
$define_name = "ALG_SHA3_224,ALG_SHA3_256,ALG_SHA3_384,ALG_SHA3_512"
if ($define_name eq "SHA3");
my $define_prefix = "MBEDTLS_";
$define_prefix = "PSA_WANT_" if ($module_name eq "SHA3");
my $define_suffix = "_C";
$define_suffix = "" if ($module_name eq "SHA3");
my $include_name = $module_name; my $include_name = $module_name;
$include_name =~ tr/A-Z/a-z/; $include_name =~ tr/A-Z/a-z/;
@ -154,26 +162,30 @@ foreach my $match (@matches)
if ($found_ll) if ($found_ll)
{ {
$code_check = \$ll_code_check; $code_check = \$ll_code_check;
$old_define = \$ll_old_define; $old_define = \@ll_old_define;
$white_space = ' '; $white_space = ' ';
} }
else else
{ {
$code_check = \$hl_code_check; $code_check = \$hl_code_check;
$old_define = \$hl_old_define; $old_define = \@hl_old_define;
$white_space = ' '; $white_space = ' ';
} }
if ($define_name ne ${$old_define}) my $old_define_name = \${$old_define}[0];
my $old_define_prefix = \${$old_define}[1];
my $old_define_suffix = \${$old_define}[2];
if ($define_name ne ${$old_define_name})
{ {
if (${$old_define} ne "") if (${$old_define_name} ne "")
{ {
${$code_check} .= "#endif /* "; ${$code_check} .= "#endif /* ";
$first = 0; $first = 0;
foreach my $dep (split(/,/, ${$old_define})) foreach my $dep (split(/,/, ${$old_define_name}))
{ {
${$code_check} .= " || " if ($first++); ${$code_check} .= " || \n " if ($first++);
${$code_check} .= "MBEDTLS_${dep}_C"; ${$code_check} .= "${$old_define_prefix}${dep}${$old_define_suffix}";
} }
${$code_check} .= " */\n\n"; ${$code_check} .= " */\n\n";
} }
@ -183,49 +195,51 @@ foreach my $match (@matches)
$first = 0; $first = 0;
foreach my $dep (split(/,/, ${define_name})) foreach my $dep (split(/,/, ${define_name}))
{ {
${$code_check} .= " || " if ($first); ${$code_check} .= " || \\\n " if ($first);
$headers .= " || " if ($first++); $headers .= " || \\\n " if ($first++);
${$code_check} .= "defined(MBEDTLS_${dep}_C)"; ${$code_check} .= "defined(${define_prefix}${dep}${define_suffix})";
$headers .= "defined(MBEDTLS_${dep}_C)" if $headers .= "defined(${define_prefix}${dep}${define_suffix})"
($include_name ne ""); if ($include_name ne "");
} }
${$code_check} .= "\n"; ${$code_check} .= "\n";
$headers .= "\n#include \"mbedtls/${include_name}.h\"\n". $headers .= "\n#include \"mbedtls/${include_name}.h\"\n".
"#endif\n\n" if ($include_name ne ""); "#endif\n\n" if ($include_name ne "");
${$old_define} = $define_name; ${$old_define_name} = $define_name;
${$old_define_prefix} = $define_prefix;
${$old_define_suffix} = $define_suffix;
} }
${$code_check} .= "${white_space}case -($error_name):\n". ${$code_check} .= "${white_space}case -($error_name):\n".
"${white_space} return( \"$module_name - $description\" );\n" "${white_space} return( \"$module_name - $description\" );\n"
}; };
if ($ll_old_define ne "") if ($ll_old_define[0] ne "")
{ {
$ll_code_check .= "#endif /* "; $ll_code_check .= "#endif /* ";
my $first = 0; my $first = 0;
foreach my $dep (split(/,/, $ll_old_define)) foreach my $dep (split(/,/, $ll_old_define[0]))
{ {
$ll_code_check .= " || " if ($first++); $ll_code_check .= " || \n " if ($first++);
$ll_code_check .= "MBEDTLS_${dep}_C"; $ll_code_check .= "${ll_old_define[1]}${dep}${ll_old_define[2]}";
} }
$ll_code_check .= " */\n"; $ll_code_check .= " */\n";
} }
if ($hl_old_define ne "") if ($hl_old_define[0] ne "")
{ {
$hl_code_check .= "#endif /* "; $hl_code_check .= "#endif /* ";
my $first = 0; my $first = 0;
foreach my $dep (split(/,/, $hl_old_define)) foreach my $dep (split(/,/, $hl_old_define[0]))
{ {
$hl_code_check .= " || " if ($first++); $hl_code_check .= " || \n " if ($first++);
$hl_code_check .= "MBEDTLS_${dep}_C"; $hl_code_check .= "${hl_old_define[1]}${dep}${hl_old_define[2]}";
} }
$hl_code_check .= " */\n"; $hl_code_check .= " */\n";
} }
$error_format =~ s/HEADER_INCLUDED\n/$headers/g; $error_format =~ s/HEADER_INCLUDED\n/$headers/g;
$error_format =~ s/LOW_LEVEL_CODE_CHECKS\n/$ll_code_check/g; $error_format =~ s/ *LOW_LEVEL_CODE_CHECKS\n/$ll_code_check/g;
$error_format =~ s/HIGH_LEVEL_CODE_CHECKS\n/$hl_code_check/g; $error_format =~ s/ *HIGH_LEVEL_CODE_CHECKS\n/$hl_code_check/g;
open(ERROR_FILE, ">$error_file") or die "Opening destination file '$error_file': $!"; open(ERROR_FILE, ">$error_file") or die "Opening destination file '$error_file': $!";
print ERROR_FILE $error_format; print ERROR_FILE $error_format;

View File

@ -1557,7 +1557,6 @@ component_test_psa_crypto_config_accel_hash () {
scripts/config.py unset MBEDTLS_SHA256_C scripts/config.py unset MBEDTLS_SHA256_C
scripts/config.py unset MBEDTLS_SHA384_C scripts/config.py unset MBEDTLS_SHA384_C
scripts/config.py unset MBEDTLS_SHA512_C scripts/config.py unset MBEDTLS_SHA512_C
scripts/config.py unset MBEDTLS_SHA3_C
# Build # Build
# ----- # -----
@ -1597,7 +1596,6 @@ config_psa_crypto_hash_use_psa () {
scripts/config.py unset MBEDTLS_SHA384_C scripts/config.py unset MBEDTLS_SHA384_C
scripts/config.py unset MBEDTLS_SHA512_C scripts/config.py unset MBEDTLS_SHA512_C
scripts/config.py unset MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT scripts/config.py unset MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT
scripts/config.py unset MBEDTLS_SHA3_C
fi fi
} }

View File

@ -348,10 +348,6 @@ REVERSE_DEPENDENCIES = {
'MBEDTLS_SHA512_C': ['MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT', 'MBEDTLS_SHA512_C': ['MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT',
'MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY', 'MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY',
'PSA_WANT_ALG_SHA_512'], 'PSA_WANT_ALG_SHA_512'],
'MBEDTLS_SHA3_C' : ['PSA_WANT_ALG_SHA3_224',
'PSA_WANT_ALG_SHA3_256',
'PSA_WANT_ALG_SHA3_384',
'PSA_WANT_ALG_SHA3_512'],
'PSA_WANT_ALG_ECB_NO_PADDING' : ['MBEDTLS_NIST_KW_C'], 'PSA_WANT_ALG_ECB_NO_PADDING' : ['MBEDTLS_NIST_KW_C'],
} }

@ -1 +1 @@
Subproject commit 35ae18cf891d3675584da41f7e830f1de5f87f07 Subproject commit d056817e037e350320519613848309559909f581