No Description

Martin Errenst 7f5a8283af add some comments 3 weeks ago
.gitignore 0b2764ea61 use cmake 3 weeks ago
CMakeLists.txt 7f5a8283af add some comments 3 weeks ago
Makefile e40bd023fb initial commit 3 weeks ago
Readme.md 0a8fbdc588 fix h2 lines 3 weeks ago
dummy.cpp e40bd023fb initial commit 3 weeks ago
main.cpp 0b2764ea61 use cmake 3 weeks ago

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.