Commit 794fe02e50 for openssl.org
commit 794fe02e500ff58dabb94513f577e61cc9b85a18
Author: Eugene Syromiatnikov <esyr@openssl.org>
Date: Tue Mar 31 12:17:51 2026 +0200
util/checkplatformsyms.pl: update the Unix symbol filtering
Replace the grep|grep|awk|sed|sort|uniq abomination with a simple
and elegant awk script.
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Fri Apr 3 15:42:20 2026
(Merged from https://github.com/openssl/openssl/pull/30635)
diff --git a/util/checkplatformsyms.pl b/util/checkplatformsyms.pl
index f0ab62bdba..0f44a4dbd9 100755
--- a/util/checkplatformsyms.pl
+++ b/util/checkplatformsyms.pl
@@ -73,9 +73,13 @@ if ($Config{osname} eq "MSWin32") {
exit !$ok;
}
else {
- $cmd = "objdump -t " . $objfilelist . " | grep UND | grep -v \@OPENSSL";
- $cmd = $cmd . " | awk '{print \$NF}' |";
- $cmd = $cmd . " sed -e\"s/@.*\$//\" | sort | uniq";
+ $cmd = "objdump -t " . $objfilelist . " | awk " .
+ "'/\\\\*UND\\\\*/ {" .
+ "split(\$NF, sym_lib, \"@\");" .
+ "if (sym_lib[2] !~ \"OPENSSL_[1-9][0-9]*\\\\.[0-9]+\\\\.[0-9]+\$\")" .
+ "syms[sym_lib[1]] = 1;" .
+ "}" .
+ "END { for (s in syms) print s; };'";
open $expsyms, '<', $expectedsyms or die;
{