diff -Nru android-platform-external-boringssl-10.0.0+r36/debian/changelog android-platform-external-boringssl-10.0.0+r36/debian/changelog --- android-platform-external-boringssl-10.0.0+r36/debian/changelog 2020-11-23 11:14:17.000000000 +0000 +++ android-platform-external-boringssl-10.0.0+r36/debian/changelog 2021-01-19 16:01:40.000000000 +0000 @@ -1,3 +1,12 @@ +android-platform-external-boringssl (10.0.0+r36-1+rpi1) bullseye-staging; urgency=medium + + * Mark asm as armv6 to avoid setting off armv7 contamination checker. + * set __ARM_MAX_ARCH__ to 6. + * disable HWAES define. + * disable GHASH_ASM_ARM define. + + -- Peter Michael Green Tue, 19 Jan 2021 16:01:40 +0000 + android-platform-external-boringssl (10.0.0+r36-1) unstable; urgency=medium * Team upload diff -Nru android-platform-external-boringssl-10.0.0+r36/debian/patches/armv6.patch android-platform-external-boringssl-10.0.0+r36/debian/patches/armv6.patch --- android-platform-external-boringssl-10.0.0+r36/debian/patches/armv6.patch 1970-01-01 00:00:00.000000000 +0000 +++ android-platform-external-boringssl-10.0.0+r36/debian/patches/armv6.patch 2021-01-19 16:01:40.000000000 +0000 @@ -0,0 +1,392 @@ +Description: Mark asm as armv6 to avoid setting off armv7 contamination checker. +Author: Peter Michael Green + +Index: android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/chacha/chacha-armv4.S +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/linux-arm/crypto/chacha/chacha-armv4.S ++++ android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/chacha/chacha-armv4.S +@@ -16,7 +16,7 @@ + + @ Silence ARMv8 deprecated IT instruction warnings. This file is used by both + @ ARMv7 and ARMv8 processors and does not use ARMv8 instructions. +-.arch armv7-a ++.arch armv6 + + .text + #if defined(__thumb2__) || defined(__clang__) +@@ -808,7 +808,7 @@ ChaCha20_ctr32: + ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc} + .size ChaCha20_ctr32,.-ChaCha20_ctr32 + #if __ARM_MAX_ARCH__>=7 +-.arch armv7-a ++.arch armv6 + .fpu neon + + .type ChaCha20_neon,%function +Index: android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/aes-armv4.S +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/linux-arm/crypto/fipsmodule/aes-armv4.S ++++ android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/aes-armv4.S +@@ -61,7 +61,7 @@ + @ Silence ARMv8 deprecated IT instruction warnings. This file is used by both + @ ARMv7 and ARMv8 processors and does not use ARMv8 instructions. (ARMv8 AES + @ instructions are in aesv8-armx.pl.) +-.arch armv7-a ++.arch armv6 + + .text + #if defined(__thumb2__) && !defined(__APPLE__) +Index: android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/aesv8-armx32.S +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/linux-arm/crypto/fipsmodule/aesv8-armx32.S ++++ android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/aesv8-armx32.S +@@ -16,7 +16,7 @@ + + #if __ARM_MAX_ARCH__>=7 + .text +-.arch armv7-a @ don't confuse not-so-latest binutils with argv8 :-) ++.arch armv6 @ don't confuse not-so-latest binutils with argv8 :-) + .fpu neon + .code 32 + #undef __thumb2__ +Index: android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/armv4-mont.S +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/linux-arm/crypto/fipsmodule/armv4-mont.S ++++ android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/armv4-mont.S +@@ -16,7 +16,7 @@ + + @ Silence ARMv8 deprecated IT instruction warnings. This file is used by both + @ ARMv7 and ARMv8 processors and does not use ARMv8 instructions. +-.arch armv7-a ++.arch armv6 + + .text + #if defined(__thumb2__) +@@ -210,7 +210,7 @@ bn_mul_mont: + #endif + .size bn_mul_mont,.-bn_mul_mont + #if __ARM_MAX_ARCH__>=7 +-.arch armv7-a ++.arch armv6 + .fpu neon + + .type bn_mul8x_mont_neon,%function +Index: android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/bsaes-armv7.S +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/linux-arm/crypto/fipsmodule/bsaes-armv7.S ++++ android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/bsaes-armv7.S +@@ -84,7 +84,7 @@ + #endif + + #if __ARM_MAX_ARCH__>=7 +-.arch armv7-a ++.arch armv6 + .fpu neon + + .text +Index: android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/ghash-armv4.S +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/linux-arm/crypto/fipsmodule/ghash-armv4.S ++++ android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/ghash-armv4.S +@@ -17,7 +17,7 @@ + @ Silence ARMv8 deprecated IT instruction warnings. This file is used by both + @ ARMv7 and ARMv8 processors and does not use ARMv8 instructions. (ARMv8 PMULL + @ instructions are in aesv8-armx.pl.) +-.arch armv7-a ++.arch armv6 + + .text + #if defined(__thumb2__) || defined(__clang__) +@@ -367,7 +367,7 @@ gcm_gmult_4bit: + #endif + .size gcm_gmult_4bit,.-gcm_gmult_4bit + #if __ARM_MAX_ARCH__>=7 +-.arch armv7-a ++.arch armv6 + .fpu neon + + .globl gcm_init_neon +Index: android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/sha1-armv4-large.S +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/linux-arm/crypto/fipsmodule/sha1-armv4-large.S ++++ android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/sha1-armv4-large.S +@@ -506,7 +506,7 @@ sha1_block_data_order: + .align 2 + .align 5 + #if __ARM_MAX_ARCH__>=7 +-.arch armv7-a ++.arch armv6 + .fpu neon + + .type sha1_block_data_order_neon,%function +Index: android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/sha256-armv4.S +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/linux-arm/crypto/fipsmodule/sha256-armv4.S ++++ android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/sha256-armv4.S +@@ -67,7 +67,7 @@ + @ Silence ARMv8 deprecated IT instruction warnings. This file is used by both + @ ARMv7 and ARMv8 processors. It does have ARMv8-only code, but those + @ instructions are manually-encoded. (See unsha256.) +-.arch armv7-a ++.arch armv6 + + .text + #if defined(__thumb2__) +@@ -1892,7 +1892,7 @@ sha256_block_data_order: + #endif + .size sha256_block_data_order,.-sha256_block_data_order + #if __ARM_MAX_ARCH__>=7 +-.arch armv7-a ++.arch armv6 + .fpu neon + + .globl sha256_block_data_order_neon +Index: android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/sha512-armv4.S +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/linux-arm/crypto/fipsmodule/sha512-armv4.S ++++ android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/fipsmodule/sha512-armv4.S +@@ -79,7 +79,7 @@ + + @ Silence ARMv8 deprecated IT instruction warnings. This file is used by both + @ ARMv7 and ARMv8 processors and does not use ARMv8 instructions. +-.arch armv7-a ++.arch armv6 + + #ifdef __ARMEL__ + # define LO 0 +@@ -550,7 +550,7 @@ sha512_block_data_order: + #endif + .size sha512_block_data_order,.-sha512_block_data_order + #if __ARM_MAX_ARCH__>=7 +-.arch armv7-a ++.arch armv6 + .fpu neon + + .globl sha512_block_data_order_neon +Index: android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/test/trampoline-armv4.S +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/linux-arm/crypto/test/trampoline-armv4.S ++++ android-platform-external-boringssl-10.0.0+r36/linux-arm/crypto/test/trampoline-armv4.S +@@ -14,7 +14,7 @@ + #endif + .syntax unified + +-.arch armv7-a ++.arch armv6 + .fpu vfp + + .text +Index: android-platform-external-boringssl-10.0.0+r36/src/crypto/chacha/asm/chacha-armv4.pl +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/src/crypto/chacha/asm/chacha-armv4.pl ++++ android-platform-external-boringssl-10.0.0+r36/src/crypto/chacha/asm/chacha-armv4.pl +@@ -173,7 +173,7 @@ $code.=<<___; + + @ Silence ARMv8 deprecated IT instruction warnings. This file is used by both + @ ARMv7 and ARMv8 processors and does not use ARMv8 instructions. +-.arch armv7-a ++.arch armv6 + + .text + #if defined(__thumb2__) || defined(__clang__) +@@ -665,7 +665,7 @@ my ($a,$b,$c,$d,$t)=@_; + + $code.=<<___; + #if __ARM_MAX_ARCH__>=7 +-.arch armv7-a ++.arch armv6 + .fpu neon + + .type ChaCha20_neon,%function +Index: android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/aes/asm/aes-armv4.pl +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/src/crypto/fipsmodule/aes/asm/aes-armv4.pl ++++ android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/aes/asm/aes-armv4.pl +@@ -79,7 +79,7 @@ $code=<<___; + @ Silence ARMv8 deprecated IT instruction warnings. This file is used by both + @ ARMv7 and ARMv8 processors and does not use ARMv8 instructions. (ARMv8 AES + @ instructions are in aesv8-armx.pl.) +-.arch armv7-a ++.arch armv6 + + .text + #if defined(__thumb2__) && !defined(__APPLE__) +Index: android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/aes/asm/aesv8-armx.pl +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/src/crypto/fipsmodule/aes/asm/aesv8-armx.pl ++++ android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/aes/asm/aesv8-armx.pl +@@ -60,7 +60,7 @@ $code=<<___; + ___ + $code.=".arch armv8-a+crypto\n" if ($flavour =~ /64/); + $code.=<<___ if ($flavour !~ /64/); +-.arch armv7-a // don't confuse not-so-latest binutils with argv8 :-) ++.arch armv6 // don't confuse not-so-latest binutils with argv8 :-) + .fpu neon + .code 32 + #undef __thumb2__ +Index: android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/aes/asm/bsaes-armv7.pl +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/src/crypto/fipsmodule/aes/asm/bsaes-armv7.pl ++++ android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/aes/asm/bsaes-armv7.pl +@@ -725,7 +725,7 @@ $code.=<<___; + #endif + + #if __ARM_MAX_ARCH__>=7 +-.arch armv7-a ++.arch armv6 + .fpu neon + + .text +Index: android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/bn/asm/armv4-mont.pl +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/src/crypto/fipsmodule/bn/asm/armv4-mont.pl ++++ android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/bn/asm/armv4-mont.pl +@@ -99,7 +99,7 @@ $code=<<___; + + @ Silence ARMv8 deprecated IT instruction warnings. This file is used by both + @ ARMv7 and ARMv8 processors and does not use ARMv8 instructions. +-.arch armv7-a ++.arch armv6 + + .text + #if defined(__thumb2__) +@@ -306,7 +306,7 @@ my ($tinptr,$toutptr,$inner,$outer,$bnpt + + $code.=<<___; + #if __ARM_MAX_ARCH__>=7 +-.arch armv7-a ++.arch armv6 + .fpu neon + + .type bn_mul8x_mont_neon,%function +Index: android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/modes/asm/ghash-armv4.pl +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/src/crypto/fipsmodule/modes/asm/ghash-armv4.pl ++++ android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/modes/asm/ghash-armv4.pl +@@ -145,7 +145,7 @@ $code=<<___; + @ Silence ARMv8 deprecated IT instruction warnings. This file is used by both + @ ARMv7 and ARMv8 processors and does not use ARMv8 instructions. (ARMv8 PMULL + @ instructions are in aesv8-armx.pl.) +-.arch armv7-a ++.arch armv6 + + .text + #if defined(__thumb2__) || defined(__clang__) +@@ -429,7 +429,7 @@ ___ + + $code.=<<___; + #if __ARM_MAX_ARCH__>=7 +-.arch armv7-a ++.arch armv6 + .fpu neon + + .global gcm_init_neon +Index: android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/sha/asm/sha1-armv4-large.pl +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/src/crypto/fipsmodule/sha/asm/sha1-armv4-large.pl ++++ android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/sha/asm/sha1-armv4-large.pl +@@ -525,7 +525,7 @@ sub Xloop() + + $code.=<<___; + #if __ARM_MAX_ARCH__>=7 +-.arch armv7-a ++.arch armv6 + .fpu neon + + .type sha1_block_data_order_neon,%function +Index: android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/sha/asm/sha256-armv4.pl +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/src/crypto/fipsmodule/sha/asm/sha256-armv4.pl ++++ android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/sha/asm/sha256-armv4.pl +@@ -184,7 +184,7 @@ $code=<<___; + @ Silence ARMv8 deprecated IT instruction warnings. This file is used by both + @ ARMv7 and ARMv8 processors. It does have ARMv8-only code, but those + @ instructions are manually-encoded. (See unsha256.) +-.arch armv7-a ++.arch armv6 + + .text + #if defined(__thumb2__) +@@ -475,7 +475,7 @@ sub body_00_15 () { + + $code.=<<___; + #if __ARM_MAX_ARCH__>=7 +-.arch armv7-a ++.arch armv6 + .fpu neon + + .global sha256_block_data_order_neon +Index: android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/sha/asm/sha512-armv4.pl +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/src/crypto/fipsmodule/sha/asm/sha512-armv4.pl ++++ android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/sha/asm/sha512-armv4.pl +@@ -210,7 +210,7 @@ $code=<<___; + + @ Silence ARMv8 deprecated IT instruction warnings. This file is used by both + @ ARMv7 and ARMv8 processors and does not use ARMv8 instructions. +-.arch armv7-a ++.arch armv6 + + #ifdef __ARMEL__ + # define LO 0 +@@ -606,7 +606,7 @@ ___ + + $code.=<<___; + #if __ARM_MAX_ARCH__>=7 +-.arch armv7-a ++.arch armv6 + .fpu neon + + .global sha512_block_data_order_neon +Index: android-platform-external-boringssl-10.0.0+r36/src/crypto/test/asm/trampoline-armv4.pl +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/src/crypto/test/asm/trampoline-armv4.pl ++++ android-platform-external-boringssl-10.0.0+r36/src/crypto/test/asm/trampoline-armv4.pl +@@ -49,7 +49,7 @@ my ($func, $state, $argv, $argc) = ("r0" + my $code = <<____; + .syntax unified + +-.arch armv7-a ++.arch armv6 + .fpu vfp + + .text +Index: android-platform-external-boringssl-10.0.0+r36/src/include/openssl/arm_arch.h +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/src/include/openssl/arm_arch.h ++++ android-platform-external-boringssl-10.0.0+r36/src/include/openssl/arm_arch.h +@@ -100,7 +100,7 @@ + + // Even when building for 32-bit ARM, support for aarch64 crypto instructions + // will be included. +-#define __ARM_MAX_ARCH__ 8 ++#define __ARM_MAX_ARCH__ 6 + + // ARMV7_NEON is true when a NEON unit is present in the current CPU. + #define ARMV7_NEON (1 << 0) +Index: android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/aes/internal.h +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/src/crypto/fipsmodule/aes/internal.h ++++ android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/aes/internal.h +@@ -42,7 +42,7 @@ OPENSSL_INLINE int vpaes_capable(void) { + return (OPENSSL_ia32cap_get()[1] & (1 << (41 - 32))) != 0; + } + +-#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64) ++#elif false + #define HWAES + + OPENSSL_INLINE int hwaes_capable(void) { return CRYPTO_is_ARMv8_AES_capable(); } +Index: android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/modes/internal.h +=================================================================== +--- android-platform-external-boringssl-10.0.0+r36.orig/src/crypto/fipsmodule/modes/internal.h ++++ android-platform-external-boringssl-10.0.0+r36/src/crypto/fipsmodule/modes/internal.h +@@ -314,7 +314,7 @@ void gcm_ghash_4bit_mmx(uint64_t Xi[2], + size_t len); + #endif // OPENSSL_X86 + +-#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64) ++#elif false + #define GHASH_ASM_ARM + #define GCM_FUNCREF_4BIT + diff -Nru android-platform-external-boringssl-10.0.0+r36/debian/patches/series android-platform-external-boringssl-10.0.0+r36/debian/patches/series --- android-platform-external-boringssl-10.0.0+r36/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ android-platform-external-boringssl-10.0.0+r36/debian/patches/series 2021-01-19 16:01:40.000000000 +0000 @@ -0,0 +1 @@ +armv6.patch