從這裡看來的,官方文件說 -grecord-gcc-switches 預設有開,所以滿可靠的。
使用例子:
$ g++ f.cpp -std=c++11 -g -o f $ readelf --debug-dump f | grep DW_AT_producerDW_AT_producer : (indirect string, offset: 0xded): \ GNU C++11 5.4.0 20160609 -mtune=generic -march=x86-64 -g -std=c++11 -fstack-protector-strong DW_AT_producer DW_FORM_strp
但用 clang 編的資訊就沒存完整:
$ clang++ f.cpp -std=c++11 -g -o f $ readelf --debug-dump f | grep DW_AT_producerDW_AT_producer : \ (indirect string, offset: 0x0): clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final) DW_AT_producer DW_FORM_strp