diff options
Diffstat (limited to 'app/openssl/import_openssl.sh')
-rwxr-xr-x | app/openssl/import_openssl.sh | 90 |
1 files changed, 8 insertions, 82 deletions
diff --git a/app/openssl/import_openssl.sh b/app/openssl/import_openssl.sh index f16596bc..02d2ab1c 100755 --- a/app/openssl/import_openssl.sh +++ b/app/openssl/import_openssl.sh @@ -128,16 +128,7 @@ function default_asm_file () { function gen_asm_arm () { local OUT OUT=$(default_asm_file "$@") - $PERL_EXE "$1" void "$OUT" > "$OUT" -} - -# Generate an ARMv8 64-bit assembly file. -# $1: generator (perl script) -# $2: [optional] output file name -function gen_asm_arm64 () { - local OUT - OUT=$(default_asm_file "$@") - $PERL_EXE "$1" linux64 "$OUT" > "$OUT" + $PERL_EXE "$1" > "$OUT" } function gen_asm_mips () { @@ -186,54 +177,6 @@ function print_autogenerated_header() { echo "#" } -function run_verbose() { - echo Running: $@ - $@ -} - -function scan_opensslconf_for_flags() { - for flag in "$@"; do - awk "/^#define ${flag}$/ { print \$2 }" crypto/opensslconf.h - done -} - -CRYPTO_CONF_FLAGS=( -OPENSSL_CPUID_OBJ -DES_LONG -DES_PTR -DES_RISC1 -DES_RISC2 -DES_UNROLL -RC4_INT -RC4_CHUNK -RC4_INDEX -) - -function check_asm_flags() { - local arch="$1" - local target="$2" - local unsorted_flags - local expected_flags - local actual_flags - local defines="OPENSSL_CRYPTO_DEFINES_$arch" - - PERL=/usr/bin/perl run_verbose ./Configure $CONFIGURE_ARGS $target - - unsorted_flags="$(awk '/^CFLAG=/ { sub(/^CFLAG= .*-Wall /, ""); gsub(/-D/, ""); print; }' Makefile)" - unsorted_flags="$unsorted_flags $(scan_opensslconf_for_flags "${CRYPTO_CONF_FLAGS[@]}")" - - expected_flags="$(echo $unsorted_flags | tr ' ' '\n' | sort | tr '\n' ' ')" - actual_flags="$(echo ${!defines} | tr ' ' '\n' | sort | tr '\n' ' ')" - - if [[ $actual_flags != $expected_flags ]]; then - echo ${defines} is wrong! - echo " $actual_flags" - echo Please update to: - echo " $expected_flags" - exit 1 - fi -} - # Run Configure and generate headers # $1: 32 for 32-bit arch, 64 for 64-bit arch, trusty for Trusty # $2: 1 if building for static version @@ -249,9 +192,9 @@ function generate_build_config_headers() { fi if [[ $1 == trusty ]] ; then - PERL=/usr/bin/perl run_verbose ./Configure $CONFIGURE_ARGS_TRUSTY + PERL=/usr/bin/perl ./Configure $CONFIGURE_ARGS_TRUSTY else - PERL=/usr/bin/perl run_verbose ./Configure $CONFIGURE_ARGS ${!configure_args_bits} ${!configure_args_stat} + PERL=/usr/bin/perl ./Configure $CONFIGURE_ARGS ${!configure_args_bits} ${!configure_args_stat} fi rm -f apps/CA.pl.bak crypto/opensslconf.h.bak @@ -481,16 +424,8 @@ function import() { declare -r OPENSSL_SOURCE=$1 untar $OPENSSL_SOURCE readonly applypatches $OPENSSL_DIR - convert_iso8859_to_utf8 $OPENSSL_DIR cd $OPENSSL_DIR - - # Check the ASM flags for each arch - check_asm_flags arm linux-armv4 - check_asm_flags arm64 linux-aarch64 - check_asm_flags x86 linux-elf - check_asm_flags x86_64 linux-x86_64 - generate_build_config_mk generate_opensslconf_h @@ -508,23 +443,14 @@ function import() { # Generate arm asm gen_asm_arm crypto/aes/asm/aes-armv4.pl - gen_asm_arm crypto/aes/asm/aesv8-armx.pl gen_asm_arm crypto/aes/asm/bsaes-armv7.pl gen_asm_arm crypto/bn/asm/armv4-gf2m.pl gen_asm_arm crypto/bn/asm/armv4-mont.pl gen_asm_arm crypto/modes/asm/ghash-armv4.pl - gen_asm_arm crypto/modes/asm/ghashv8-armx.pl gen_asm_arm crypto/sha/asm/sha1-armv4-large.pl gen_asm_arm crypto/sha/asm/sha256-armv4.pl gen_asm_arm crypto/sha/asm/sha512-armv4.pl - # Generate armv8 asm - gen_asm_arm64 crypto/aes/asm/aesv8-armx.pl crypto/aes/asm/aesv8-armx-64.S - gen_asm_arm64 crypto/modes/asm/ghashv8-armx.pl crypto/modes/asm/ghashv8-armx-64.S - gen_asm_arm64 crypto/sha/asm/sha1-armv8.pl - gen_asm_arm64 crypto/sha/asm/sha512-armv8.pl crypto/sha/asm/sha256-armv8.S - gen_asm_arm64 crypto/sha/asm/sha512-armv8.pl - # Generate mips asm gen_asm_mips crypto/aes/asm/aes-mips.pl gen_asm_mips crypto/bn/asm/mips.pl crypto/bn/asm/bn-mips.S @@ -659,6 +585,7 @@ function untar() { # Process new source tar -zxf $OPENSSL_SOURCE + convert_iso8859_to_utf8 $OPENSSL_DIR cp -RfP $OPENSSL_DIR $OPENSSL_DIR_ORIG if [ ! -z $readonly ]; then find $OPENSSL_DIR_ORIG -type f -print0 | xargs -0 chmod a-w @@ -683,13 +610,12 @@ function applypatches () { cd $dir # Apply appropriate patches - patches=(../patches/[0-9][0-9][0-9][0-9]-*.patch) - for i in "${patches[@]}"; do - if [[ $skip_patch != ${i##*/} ]]; then + for i in $OPENSSL_PATCHES; do + if [ ! "$skip_patch" = "patches/$i" ]; then echo "Applying patch $i" - patch -p1 < $i || die "Could not apply $i. Fix source and run: $0 regenerate patches/${i##*/}" + patch -p1 < ../patches/$i || die "Could not apply patches/$i. Fix source and run: $0 regenerate patches/$i" else - echo "Skiping patch ${i##*/}" + echo "Skiping patch $i" fi done |