I mean whether gcc can insert some source code version infor into ELF binary as section or something similar. I do not want to change my source file, but add some info with gcc option in Makefile.
If you don't mind changing your source file just once, add something like this:
const volatile static char version[] = VERSION;
and compile with:
gcc -c -DVERSION='"1.2.3"'
The volatile
keeps gcc from removing the string at higher optimization levels.
As written, this won't compile if you forget the -D
option, which may be either good or bad depending on your requirements.