diff -Nru libcrypto++-8.6.0/debian/changelog libcrypto++-8.6.0/debian/changelog --- libcrypto++-8.6.0/debian/changelog 2021-09-25 17:44:37.000000000 +0000 +++ libcrypto++-8.6.0/debian/changelog 2021-12-16 18:25:31.000000000 +0000 @@ -1,3 +1,14 @@ +libcrypto++ (8.6.0-2+rpi1) bookworm-staging; urgency=medium + + * Upload to raspbian despite detection of armv7 contaimination, + investigation of the code shows that the armv7/neon code seems + to be safely behind runtime CPU testection. + * Pass -march=armv7+fp instead of -march=armv7 when building "armv4" + assembler files. Despite the names these files only seem to be used + on armv7. + + -- Peter Michael Green Thu, 16 Dec 2021 18:25:31 +0000 + libcrypto++ (8.6.0-2) unstable; urgency=medium * Fix armel and armhf link breakage. diff -Nru libcrypto++-8.6.0/debian/patches/series libcrypto++-8.6.0/debian/patches/series --- libcrypto++-8.6.0/debian/patches/series 2021-09-25 17:38:20.000000000 +0000 +++ libcrypto++-8.6.0/debian/patches/series 2021-12-16 18:25:31.000000000 +0000 @@ -1 +1,2 @@ fix_library_name.patch +use-fp-with-march.patch diff -Nru libcrypto++-8.6.0/debian/patches/use-fp-with-march.patch libcrypto++-8.6.0/debian/patches/use-fp-with-march.patch --- libcrypto++-8.6.0/debian/patches/use-fp-with-march.patch 1970-01-01 00:00:00.000000000 +0000 +++ libcrypto++-8.6.0/debian/patches/use-fp-with-march.patch 2021-12-16 18:25:31.000000000 +0000 @@ -0,0 +1,33 @@ +Description: pass -march=armv7+fp when building "armv4" assembler files. + despite the names these only seem to be used for armv7, and contain + neon implementations which won't be built if no -march is specified +Author: Peter Michael Green + +--- libcrypto++-8.6.0.orig/GNUmakefile ++++ libcrypto++-8.6.0/GNUmakefile +@@ -1174,11 +1174,11 @@ endif + # Also see https://www.cryptopp.com/wiki/Cryptogams. + ifeq ($(IS_ARM32)$(IS_LINUX),11) + ifeq ($(CLANG_COMPILER),1) +- CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack +- CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -mthumb -Wa,--noexecstack ++ CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a+fp -Wa,--noexecstack ++ CRYPTOGAMS_ARMV4_THUMB_FLAG = -mthumb -Wa,--noexecstack + else +- CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack +- CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -Wa,--noexecstack ++ CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a+fp -Wa,--noexecstack ++ CRYPTOGAMS_ARMV4_THUMB_FLAG = -Wa,--noexecstack + endif + SRCS += aes_armv4.S sha1_armv4.S sha256_armv4.S sha512_armv4.S + endif +@@ -1583,6 +1583,9 @@ NOSTD_CXXFLAGS=$(filter-out -stdlib=%,$( + + # Cryptogams ARM asm implementation. AES needs -mthumb for Clang + aes_armv4.o : aes_armv4.S ++ echo CPPFLAGS=$(CPPFLAGS) ++ echo NOSTD_CXXFLAGS=$(NOSTD_CXXFLAGS) ++ echo CRYPTOGAMS_ARMV4_THUMB_FLAG=$(CRYPTOGAMS_ARMV4_THUMB_FLAG) + $(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_THUMB_FLAG) -c) $< + + # SSSE3 or NEON available