High-fidelity build instrumentation with blight
Summary: Trail of Bits has open-sourced blight, a framework for wrapping and instrumenting C and C++ build tools, with a set of stock actions already in use on its research projects. The framework models compiler command-line behavior across GCC, Clang, ICC and MSVC, and runs configurable actions before and after each tool invocation via the BLIGHT_ACTIONS environment variable.
Why it matters: Build complexity is where hardening flags get dropped or wrongly added for release configurations, and blight's stated purpose is to predicate a build's success or failure on the presence or absence of those flags no matter how many nested build systems are invoked.
Read the original at Trail of Bits Blog ↗