aboutsummaryrefslogtreecommitdiff
path: root/update.sh
diff options
context:
space:
mode:
Diffstat (limited to 'update.sh')
-rwxr-xr-xupdate.sh26
1 files changed, 24 insertions, 2 deletions
diff --git a/update.sh b/update.sh
index 4c97ae3..1f2d78b 100755
--- a/update.sh
+++ b/update.sh
@@ -191,12 +191,24 @@ fixup_masm() {
191 | sed -e 's/|/OR/g' \ 191 | sed -e 's/|/OR/g' \
192 | sed -e 's/~/NOT/g' \ 192 | sed -e 's/~/NOT/g' \
193 | sed -e 's/1 << \([0-9]*\)/1 SHL \1/g' \ 193 | sed -e 's/1 << \([0-9]*\)/1 SHL \1/g' \
194 | sed -e 's/^ALIGN.*//g' \
195 > $2 194 > $2
196} 195}
197 196
198# generate assembly crypto algorithms 197# generate assembly crypto algorithms
199asm_src=$libcrypto_src 198asm_src=$CWD/asm
199
200setup_asm_generator() {
201 rm -fr $asm_src
202 cp -a $libcrypto_src $asm_src
203}
204
205setup_asm_generator_patched() {
206 setup_asm_generator
207 for i in `ls -1 patches/asm/*.patch | sort -n`; do
208 patch -d $asm_src -p 4 < $i 1> /dev/null 2>/dev/null ;
209 done
210}
211
200gen_asm_stdout() { 212gen_asm_stdout() {
201 CC=true perl $asm_src/$2 $1 > crypto/$3.tmp 213 CC=true perl $asm_src/$2 $1 > crypto/$3.tmp
202 [ $1 = "elf" ] && cat <<-EOF >> crypto/$3.tmp 214 [ $1 = "elf" ] && cat <<-EOF >> crypto/$3.tmp
@@ -237,6 +249,8 @@ gen_asm() {
237 fi 249 fi
238} 250}
239 251
252setup_asm_generator
253
240echo generating mips ASM source for elf 254echo generating mips ASM source for elf
241gen_asm_mips o32 aes aes-mips aes-mips 255gen_asm_mips o32 aes aes-mips aes-mips
242gen_asm_mips o32 bn mips bn-mips 256gen_asm_mips o32 bn mips bn-mips
@@ -266,6 +280,14 @@ $CP $libcrypto_src/arch/arm/arm_arch.h crypto
266 280
267for abi in elf macosx masm mingw64; do 281for abi in elf macosx masm mingw64; do
268 echo generating x86_64 ASM source for $abi 282 echo generating x86_64 ASM source for $abi
283
284 # use patched generators for non-elf targets
285 if [ $abi = "elf" ]; then
286 setup_asm_generator
287 else
288 setup_asm_generator_patched
289 fi
290
269 gen_asm_stdout $abi aes/asm/aes-x86_64.pl aes/aes-$abi-x86_64.S 291 gen_asm_stdout $abi aes/asm/aes-x86_64.pl aes/aes-$abi-x86_64.S
270 gen_asm_stdout $abi aes/asm/vpaes-x86_64.pl aes/vpaes-$abi-x86_64.S 292 gen_asm_stdout $abi aes/asm/vpaes-x86_64.pl aes/vpaes-$abi-x86_64.S
271 gen_asm_stdout $abi aes/asm/bsaes-x86_64.pl aes/bsaes-$abi-x86_64.S 293 gen_asm_stdout $abi aes/asm/bsaes-x86_64.pl aes/bsaes-$abi-x86_64.S