INCL += resource.h
endif
- # Cryptogams source files. We couple to ARMv7 and NEON.
+ # Cryptogams source files. We couple to ARMv7 and NEON due to SHA using NEON.
# Limit to Linux. The source files target the GNU assembler.
- # Also see https://www.cryptopp.com/wiki/Cryptogams.
+ # Also see https://www.crypto++.com/wiki/Cryptogams.
ifeq ($(IS_ARM32)$(IS_LINUX),11)
- ifeq ($(filter -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_ARM_NEON,$(CPPFLAGS)$(CXXFLAGS)),)
+ ifeq ($(filter -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_ARM_NEON,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
- # Do not use -march=armv7 if the compiler is already targeting the ISA.
- # Also see https://github.com/weidai11/crypto++/issues/1094
- ifeq ($(shell $(CXX) -dM -E TestPrograms/test_cxx.cpp 2>/dev/null | grep -E '__ARM_ARCH 7|__ARM_ARCH_7A__'),)
- CRYPTOGAMS_ARMV7_FLAG = -march=armv7-a
- endif
+ CRYPTOGAMS_ARMV7_FLAG = -march=armv7-a+fp
ifeq ($(CLANG_COMPILER),1)
CRYPTOGAMS_ARM_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
CRYPTOGAMS_ARM_THUMB_FLAG = $(CRYPTOGAMS_ARMV7_FLAG) -mthumb
- libcrypto++ (8.6.0-3+rpi1) bookworm-staging; urgency=medium
++libcrypto++ (8.7.0+git220824-1+rpi1) bookworm-staging; urgency=medium
+
++ [changes brought forward from 8.6.0-3+rpi1 by Peter Michael Green <plugwash@raspbian.org> at Sat, 19 Mar 2022 22:09:41 +0000]
+ * 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 <plugwash@raspbian.org> Sat, 19 Mar 2022 22:09:41 +0000
++ -- Peter Michael Green <plugwash@raspbian.org> Tue, 15 Nov 2022 00:07:27 +0000
++
+ libcrypto++ (8.7.0+git220824-1) unstable; urgency=medium
+
+ * New git snapshot release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Thu, 25 Aug 2022 19:44:25 +0200
+
+ libcrypto++ (8.7.0-1) unstable; urgency=medium
+
+ * New upstream release (closes: #1012974).
+ * Add -fno-devirtualize to CXXFLAGS for GCC 12 not to remove code member
+ function needed for self-testing.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sat, 13 Aug 2022 07:22:58 +0200
libcrypto++ (8.6.0-3) unstable; urgency=medium
- GNUmakefile_update.patch
- armhf_FTBFS_fix.patch
fix_library_name.patch
+use-fp-with-march.patch
--- /dev/null
- Index: libcrypto++-8.6.0/GNUmakefile
- ===================================================================
- --- libcrypto++-8.6.0.orig/GNUmakefile
- +++ libcrypto++-8.6.0/GNUmakefile
- @@ -1181,11 +1181,7 @@ endif
- # Also see https://www.cryptopp.com/wiki/Cryptogams.
+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 <plugwash@raspbian.org>
+
- ifeq ($(filter -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_ARM_NEON,$(CPPFLAGS)$(CXXFLAGS)),)
++diff --git a/GNUmakefile b/GNUmakefile
++index c0c6916..ae7b8c5 100644
++--- a/GNUmakefile
+++++ b/GNUmakefile
++@@ -1200,11 +1200,7 @@ endif
++ # Also see https://www.crypto++.com/wiki/Cryptogams.
+ ifeq ($(IS_ARM32)$(IS_LINUX),11)
- - # Also see https://github.com/weidai11/cryptopp/issues/1094
- - ifneq ($($(CXX) ++ -dM -E - </dev/null 2>/dev/null| grep 'ARM_ARCH 7|_ARM_ARCH_7A__'),)
++ ifeq ($(filter -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_ARM_NEON,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
+- # Do not use -march=armv7 if the compiler is already targeting the ISA.
++- # Also see https://github.com/weidai11/crypto++/issues/1094
++- ifeq ($(shell $(CXX) -dM -E TestPrograms/test_cxx.cpp 2>/dev/null | grep -E '__ARM_ARCH 7|__ARM_ARCH_7A__'),)
+- CRYPTOGAMS_ARMV7_FLAG = -march=armv7-a
+- endif
++ CRYPTOGAMS_ARMV7_FLAG = -march=armv7-a+fp
+ ifeq ($(CLANG_COMPILER),1)
+ CRYPTOGAMS_ARM_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
+ CRYPTOGAMS_ARM_THUMB_FLAG = $(CRYPTOGAMS_ARMV7_FLAG) -mthumb