From: Hua Zhang Date: Wed, 13 Mar 2019 06:28:44 +0000 (+0800) Subject: Fix compiling error for mips32r6 and mips64r6 X-Git-Tag: openssl-3.0.0-alpha1~2337 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=1b9c5f2e2f283a3b12d02a89c11b8e8d97bc6312;p=oweals%2Fopenssl.git Fix compiling error for mips32r6 and mips64r6 There are some compiling errors for mips32r6 and mips64r6: crypto/bn/bn-mips.S:56: Error: opcode not supported on this processor: mips2 (mips2) `mulu $1,$12,$7' crypto/mips_arch.h: Assembler messages: crypto/mips_arch.h:15: Error: junk at end of line, first unrecognized character is `&' Signed-off-by: Hua Zhang Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/8464) --- diff --git a/crypto/bn/asm/mips.pl b/crypto/bn/asm/mips.pl index 51a4b5fb36..bff624d186 100644 --- a/crypto/bn/asm/mips.pl +++ b/crypto/bn/asm/mips.pl @@ -88,7 +88,7 @@ if ($flavour =~ /64|n32/i) { $SZREG=4; $REG_S="sw"; $REG_L="lw"; - $code=".set mips2\n"; + $code="#if !(defined (__mips_isa_rev) && (__mips_isa_rev >= 6))\n.set mips2\n#endif\n"; } # Below is N32/64 register layout used in the original module. diff --git a/crypto/mips_arch.h b/crypto/mips_arch.h index 0ac3bfaac8..df4ff7aeba 100644 --- a/crypto/mips_arch.h +++ b/crypto/mips_arch.h @@ -11,7 +11,7 @@ # define __MIPS_ARCH_H__ # if (defined(__mips_smartmips) || defined(_MIPS_ARCH_MIPS32R3) || \ - defined(_MIPS_ARCH_MIPS32R5) || defined(_MIPS_ARCH_MIPS32R6)) + defined(_MIPS_ARCH_MIPS32R5) || defined(_MIPS_ARCH_MIPS32R6)) \ && !defined(_MIPS_ARCH_MIPS32R2) # define _MIPS_ARCH_MIPS32R2 # endif