No description
Find a file
2017-08-27 14:24:17 +02:00
.gitignore initial commit 2017-08-27 13:19:39 +02:00
dummy.cpp initial commit 2017-08-27 13:19:39 +02:00
main.cpp initial commit 2017-08-27 13:19:39 +02:00
Makefile initial commit 2017-08-27 13:19:39 +02:00
Readme.md fix h2 lines 2017-08-27 14:24:17 +02:00

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.