From d8702f6951420d7641e02c04c8ce4db5762ddb07 Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Tue, 27 Feb 2024 07:18:09 -0600 Subject: upstreamed masm alignment fix --- patches/asm/masm-align-64.patch | 30 ------------------------------ update.sh | 12 +++--------- 2 files changed, 3 insertions(+), 39 deletions(-) delete mode 100644 patches/asm/masm-align-64.patch diff --git a/patches/asm/masm-align-64.patch b/patches/asm/masm-align-64.patch deleted file mode 100644 index ba41c71..0000000 --- a/patches/asm/masm-align-64.patch +++ /dev/null @@ -1,30 +0,0 @@ -commit 3797e05de28ab07bb522898cbf022bdf67a71c99 -Author: Brent Cook -Date: Sun Feb 4 22:53:59 2024 -0600 - - align read-only sections on masm/windows to 64 bytes - - Avoid conflicts where alignment is specified later in the underlying - assembly. - -diff --git a/src/lib/libcrypto/perlasm/x86_64-xlate.pl b/src/lib/libcrypto/perlasm/x86_64-xlate.pl -index 5dbed2a8c..d8b607b5c 100755 ---- a/src/lib/libcrypto/perlasm/x86_64-xlate.pl -+++ b/src/lib/libcrypto/perlasm/x86_64-xlate.pl -@@ -567,7 +567,15 @@ my %globals; - $v.="$line\tSEGMENT"; - if ($line=~/\.([prx])data/) { - $v.=" READONLY"; -- $v.=" ALIGN(".($1 eq "p" ? 4 : 8).")" if ($masm>=$masmref); -+ if ($masm>=$masmref) { -+ if ($1 eq "r") { -+ $v.=" ALIGN(64)"; -+ } elsif ($1 eq "p") { -+ $v.=" ALIGN(4)"; -+ } else { -+ $v.=" ALIGN(8)"; -+ } -+ } - } elsif ($line=~/\.CRT\$/i) { - $v.=" READONLY "; - $v.=$masm>=$masmref ? "ALIGN(8)" : "DWORD"; diff --git a/update.sh b/update.sh index 08cac6f..4fd1ab2 100755 --- a/update.sh +++ b/update.sh @@ -195,7 +195,7 @@ fixup_masm() { } # generate assembly crypto algorithms -asm_src=$CWD/asm +asm_src=$libcrypto_src gen_asm_stdout() { CC=true perl $asm_src/$2 $1 > crypto/$3.tmp @@ -210,6 +210,7 @@ gen_asm_stdout() { $MV crypto/$3.tmp crypto/$3 fi } + gen_asm_mips() { abi=$1 dir=$2 @@ -223,6 +224,7 @@ gen_asm_mips() { EOF mv $dst.S crypto/$dir/$dst.S } + gen_asm() { CC=true perl $asm_src/$2 $1 crypto/$3.tmp [ $1 = "elf" ] && cat <<-EOF >> crypto/$3.tmp @@ -237,14 +239,6 @@ gen_asm() { fi } -setup_asm_generator() { - rm -fr $asm_src - cp -a $libcrypto_src $asm_src - patch -d $asm_src -p4 < patches/asm/masm-align-64.patch -} - -setup_asm_generator - echo generating mips ASM source for elf gen_asm_mips o32 aes aes-mips aes-mips gen_asm_mips o32 bn mips bn-mips -- cgit v1.2.3-55-g6feb