No description
.gitignore | ||
dummy.cpp | ||
main.cpp | ||
Makefile | ||
Readme.md |
Motivation
Print as much information about the build process as you can get from within the binary. Espacially, compiler flags - they are quite important when comparing performance. The information should be included in the binary, so it can't be lost and is right next to, for example, a benchmark result. So there's no chance to mix up different flags.
Other options
Another option would be -g -grecord-gcc-switches and search for DW_AT_producer. Sadly, this doesn't produce the wanted information with clang:
- clang++: DW_AT_producer : (indirect string, offset: 0x0): clang version 3.9.1 (tags/RELEASE_391/final)
- g++: DW_AT_producer : (indirect string, offset: 0x37): GNU C++ 4.9.4 -mtune=generic -march=x86-64 -g -O3 -frecord-gcc-switches -fstack-protector-strong
Passing the CPPFLAGS and so on as -DMY_FLAGS=.... to the compiler call will not include some information set by the compiler itself (compare the parameters set in the Makefile with the printed output).
Known limitations
- Works only with GCC for now.