osquery / osquery-toolchain

A LLVM-based toolchain for Linux designed to build a portable osquery
Other
38 stars 22 forks source link

Update LLVM toolchain to 9.0.1 #16

Closed Smjert closed 4 years ago

Smjert commented 4 years ago

Beyond using the latest and greatest stable release, there are some fixes needed in the scan-build scripts to be able to work with CMake and its sysroot option.

theopolis commented 4 years ago

Does this new version include the fixes needed by scan build?

Smjert commented 4 years ago

Does this new version include the fixes needed by scan build?

Right, I controlled again and... actually no :S. Even if 9.0.1 has been released after the commits I was interested in it doesn't include them, and first time I've checked I must've messed up something.

Specifically: https://github.com/llvm/llvm-project/commit/ea27b932b58cb6cf9d2f1ad1eddd187ee34b9a90 https://github.com/llvm/llvm-project/commit/473d0d7f569c84446d9880727403524d4a9838eb

I guess that I'll fix the commit message and then open another PR with a patch file to apply.

Well another update is that LLVM 9.0.1 now has the -ftime-trace flag (https://aras-p.info/blog/2019/01/16/time-trace-timeline-flame-chart-profiler-for-Clang/) to do flamegraphs of the compilation time. It's useful if we want to speed up our compilation, to maybe split headers etc. It has a quirk I noticed though, which is that if you use the parallel compilation some timings might seem a bit exaggerated because I think some thread may be preempted and so it takes more than it should to do the work.

theopolis commented 4 years ago

Oh very cool, I’d love to play with time trace.

Smjert commented 4 years ago

Solved the conflict and just simplified the commit message.