From d1ba8eb9d095cdd440939e4c905ac5193678136a Mon Sep 17 00:00:00 2001 From: Daniel Pouzzner Date: Thu, 9 Oct 2025 16:36:14 -0500 Subject: [PATCH] configure.ac: don't add PQC to --enable-all-crypto -- not ready yet. .github/workflows/symbol-prefixes.yml: count and report total_public_symbols, and use a better pattern to classify refs as defs. --- .github/workflows/symbol-prefixes.yml | 58 +++++++++++++++------------ configure.ac | 4 -- 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/.github/workflows/symbol-prefixes.yml b/.github/workflows/symbol-prefixes.yml index b4201d0dc..8c8ab7821 100644 --- a/.github/workflows/symbol-prefixes.yml +++ b/.github/workflows/symbol-prefixes.yml @@ -35,30 +35,36 @@ jobs: make -j 4 || $(exit 4) # ignore properly prefixed symbols, and symbols associated with asm implementations (all internal) regardless of prefix: readelf --symbols --wide src/.libs/libwolfssl.so | \ - awk ' \ - BEGIN { \ - unprefixed_public_symbols = 0; \ - } \ - { \ - if (($7 == "UND") || \ - ($8 ~ /^(wc_|wolf|WOLF|__pfx|fe_|sp_[a-zA-Z090-0_]*[0-9])/) || \ - ($8 ~ /(_avx[12]|_AVX[12]|_sse[12]|_SSE[12]|_aesni|_AESNI|_bmi2|_x64$)/)) \ - { \ - next; \ - } \ - } \ - { \ - if (($4 == "FUNC") && ($5 == "GLOBAL") && ($6 == "DEFAULT")) { \ - ++unprefixed_public_symbols; \ - print; \ - } \ - } \ - END { \ - if (unprefixed_public_symbols) { \ - print unprefixed_public_symbols " unprefixed public symbols found." >"/dev/stderr"; - exit(1); \ - } else { \ - print "no unprefixed public symbols found." - exit(0); \ - } \ + awk ' + BEGIN { + total_public_symbols = 0; + unprefixed_public_symbols = 0; + } + { + if (($5 == "GLOBAL") && ($6 != "HIDDEN") && ($7 ~ /^[0-9]+$/)) { + ++total_public_symbols; + } + } + { + if (($7 !~ /^[0-9]+$/) || + ($8 ~ /^(wc_|wolf|WOLF|__pfx|fe_|sp_[a-zA-Z090-0_]*[0-9])/) || + ($8 ~ /(_avx[12]|_AVX[12]|_sse[12]|_SSE[12]|_aesni|_AESNI|_bmi2|_x64$)/)) + { + next; + } + } + { + if (($4 == "FUNC") && ($5 == "GLOBAL") && ($6 == "DEFAULT")) { + ++unprefixed_public_symbols; + print; + } + } + END { + if (unprefixed_public_symbols) { + print unprefixed_public_symbols " unprefixed public symbols found, of " total_public_symbols " total." >"/dev/stderr"; + exit(1); + } else { + print total_public_symbols " public symbols found in libwolfssl, all OK."; + exit(0); + } }' || $(exit 5) diff --git a/configure.ac b/configure.ac index c454ff14e..eb1702a9b 100644 --- a/configure.ac +++ b/configure.ac @@ -1385,10 +1385,6 @@ then test "$enable_ed448_stream" = "" && test "$enable_ed448" != "no" && enable_ed448_stream=yes test "$enable_aessiv" = "" && enable_aessiv=yes test "$enable_aeseax" = "" && enable_aeseax=yes - test "$enable_mlkem" = "" && test "$enable_kyber" = "" && enable_mlkem=yes - test "$enable_mldsa" = "" && test "$enable_dilithium" = "" && enable_mldsa=yes - test "$enable_xmss" = "" && enable_xmss=yes - test "$enable_lms" = "" && enable_lms=yes if test "$ENABLED_LINUXKM_DEFAULTS" != "yes" then