Does gcc have any options to add version info in ELF binary file?

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.

Leave a Comment