-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: cmake
-
None
The Autotools build system checks if the compiler supports the (weak) annotation. We use it to prevent Link-Time-Optimization (LTO) in our constant-time mongoc_memcmp(), CDRIVER-815. See WeakSymbols.m4 and mongoc-memcmp.c. I'm not sure this is necessary - why would LTO violate the requirement that different SCRAM keys take the same time to compare?
Either remove the MONGOC_HAVE_WEAK_SYMBOLS preprocessor symbol, or port the check to CMake.