diff options
Diffstat (limited to 'update.sh')
-rwxr-xr-x | update.sh | 26 |
1 files changed, 24 insertions, 2 deletions
@@ -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 |
199 | asm_src=$libcrypto_src | 198 | asm_src=$CWD/asm |
199 | |||
200 | setup_asm_generator() { | ||
201 | rm -fr $asm_src | ||
202 | cp -a $libcrypto_src $asm_src | ||
203 | } | ||
204 | |||
205 | setup_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 | |||
200 | gen_asm_stdout() { | 212 | gen_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 | ||
252 | setup_asm_generator | ||
253 | |||
240 | echo generating mips ASM source for elf | 254 | echo generating mips ASM source for elf |
241 | gen_asm_mips o32 aes aes-mips aes-mips | 255 | gen_asm_mips o32 aes aes-mips aes-mips |
242 | gen_asm_mips o32 bn mips bn-mips | 256 | gen_asm_mips o32 bn mips bn-mips |
@@ -266,6 +280,14 @@ $CP $libcrypto_src/arch/arm/arm_arch.h crypto | |||
266 | 280 | ||
267 | for abi in elf macosx masm mingw64; do | 281 | for 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 |