You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Crypto++ is working around a code generation bug when using GCC 12 on Linux. The bug is, GCC 12 is removing live code and its causing the test program to crash. Also see Crypto++ Issue 1141 and Commit 0b5747421b27. This is a GCC bug and workaround. It is not a bug in Crypto++.
We have a workaround which uses the compile flag -fno-devirtualize. CMake needs the logic to add -fno-devirtualize when appropriate. Commit 0b5747421b27 adds a test program and the makefile runs the test program with the option -fno-devirtualize. If on Linux with GCC 12 or above, then the test program will succeed. Otherwise the test program will fail. If the test program succeeds, then CMake needs to do the equivalent to CXXFLAGS += -fno-devirtualize.
We released Crypto++ 8,7 on August 7, 2022. We are planning for a Crypto++ 8.8 release around September 7 to get the latest problems off the books. The 8.8 release will include this workaround.
For completeness, GCC 12 is starting to show up in distros. At the time of this writing, it is available in Debian Unstable, Fedora 37 and Gentoo. Eventually (in a couple of years) it will show up in a lot of places.
The text was updated successfully, but these errors were encountered:
Crypto++ is working around a code generation bug when using GCC 12 on Linux. The bug is, GCC 12 is removing live code and its causing the test program to crash. Also see Crypto++ Issue 1141 and Commit 0b5747421b27. This is a GCC bug and workaround. It is not a bug in Crypto++.
We have a workaround which uses the compile flag
-fno-devirtualize
. CMake needs the logic to add-fno-devirtualize
when appropriate. Commit 0b5747421b27 adds a test program and the makefile runs the test program with the option-fno-devirtualize
. If on Linux with GCC 12 or above, then the test program will succeed. Otherwise the test program will fail. If the test program succeeds, then CMake needs to do the equivalent toCXXFLAGS += -fno-devirtualize
.We released Crypto++ 8,7 on August 7, 2022. We are planning for a Crypto++ 8.8 release around September 7 to get the latest problems off the books. The 8.8 release will include this workaround.
For completeness, GCC 12 is starting to show up in distros. At the time of this writing, it is available in Debian Unstable, Fedora 37 and Gentoo. Eventually (in a couple of years) it will show up in a lot of places.
The text was updated successfully, but these errors were encountered: