diff options
Diffstat (limited to 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl/util/find-unused-errs')
-rwxr-xr-x | roms/edk2/CryptoPkg/Library/OpensslLib/openssl/util/find-unused-errs | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/util/find-unused-errs b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/util/find-unused-errs new file mode 100755 index 000000000..cd1026d59 --- /dev/null +++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/util/find-unused-errs @@ -0,0 +1,54 @@ +#! /bin/bash +# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html + +# Find unused error function-names and reason-codes, and edit them +# out of the source. Doesn't handle line-wrapping, might have to do +# some manual cleanups to fix compile errors. + +export X1=/tmp/f.1.$$ +export X2=/tmp/f.2.$$ + +case "$1" in + -f) + PAT='_F_' + echo Functions only + ;; + -[er]) + PAT='_R_' + echo Reason codes only + ;; + "") + PAT='_[FR]_' + echo Function and reasons + ;; + *) + echo "Usage error; one of -[efr] required." + exit 1; + ;; +esac + +cd include/openssl || exit 1 +grep "$PAT" * | grep -v ERR_FATAL_ERROR | awk '{print $3;}' | sort -u >$X1 +cd ../.. + +for F in `cat $X1` ; do + git grep -l --full-name -F $F >$X2 + NUM=`wc -l <$X2` + test $NUM -gt 2 && continue + if grep -q $F crypto/err/openssl.ec ; then + echo Possibly unused $F found in openssl.ec + continue + fi + echo $F + for FILE in `cat $X2` ; do + grep -v -w $F <$FILE >$FILE.new + mv $FILE.new $FILE + done +done + +rm $X1 $X2 |