Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

GNU compiler memory sanitizer is not available

When I try to build my c++ project with memory sanitizer using the CMake sanitizers modules here, I get this warning:

MemorySanitizer is not available for GNU compiler.

Although when I searched on google it is stated here that GNU compiler supports memory sanitizer.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

My development enviroment is WSL2 Ubuntu 20.04 and compiler version is 9.4.0.

>Solution :

As stated in the comments, the GCC documentation does not document support for MemorySanitizer. There is no entry for -fsanitize=memory– but it has -fsanitize=address, -fsanitize=leak, -fsanitize=thread and several others.

The High Performance Computing wiki page you linked in you question says:

The C/C++ compilers Clang/LLVM and GCC support so-called sanitizers. These sanitizers are built into the application code and track the execution at runtime to report execution errors. There are currently four interesting sanitizers:

  • AddressSanitizer and LeakSanitizer
  • ThreadSanitizer
  • MemorySanitizer

So it looks like it is speaking in broad strokes and that those broad strokes are wrong specifically for GCC and MemorySantizer.

Cross reference: Google wiki page on MSan:

MemorySanitizer is part of LLVM trunk and has been widely available as a compile-time option in clang since version 4.0.

Page for Clang support: https://clang.llvm.org/docs/MemorySanitizer.html.

For your reference, the line of CMake code in the CMake helper modules you are using that prints that diagnostic message is here: https://github.com/arsenm/sanitizers-cmake/blob/77df84a2af66d35bec00205651cee7de6b2b2609/cmake/sanitize-helpers.cmake#L152.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading