2 ms·
That means building the code twice. In practice the only thing valgrind does that asan doesn't is checking for non-initialized variables. There's another saniti
by mgaunard 4y ago
That means building the code twice. In practice the only thing valgrind does that asan doesn't is checking for non-initialized variables. There's another sanitizer for this called msan.
- williamcotton 4y agoUnfortunately not all of the sanitizers are working in clang for Apple Silicon machines. For my own CI pipeline I run both Darwin and Linux builds, leaks and valgrind respectively, along with the kitchen sink of compiler sanitizers: Here’s the GitHub actions for those platforms and a link to the Makefile: GitHub Action: https://github.com/williamcotton/express-c/blob/master/.github/workflows/test.yml https://github.com/williamcotton/express-c/blob/master/.gith... Makefile: https://github.com/williamcotton/express-c/blob/f2e1dde2f5a796bd3d1cefae18ad891d72194a02/Makefile#L102 https://github.com/williamcotton/express-c/blob/f2e1dde2f5a7...
- jeroenhd 4y agoThat's an interesting problem. Is this the case for all aarch64 platforms or is this specific to Apple's hardware?
- hrydgard 4y agovalgrind runs on your unmodified binary, it's asan that needs a separate build.
- mgaunard 4y agoThe build you'd use for development, to run unit tests and validate merge requests, is the as-instrumented-as-possible build.