Add CI with AddressSanitizer and UndefinedBehaviourSanitizer
In addition to being helpful for QA, this codifies what we do and don't expect to work on developer systems.
-
build: Add SANITIZE_CFLAGS build variable
When building with things like AddressSanitizer, we want to apply instrumentation to the libcapsule library itself, the libcapsule tools, and the unit tests. However, we do not want to instrument the tiny libraries that are used as test fixtures, because giving them a dependency on libasan.so.5 would confuse libcapsule when testing them.
-
ci: Run CI with UndefinedBehaviourSanitizer and AddressSanitizer