Do you know why the strings command does not show the identification string, which clearly present in the executable file, even though it should examine the entire file (the --all option does not alter the output)?
Regards, Arjen Op vr 3 jun. 2022 om 07:22 schreef Janne Blomqvist < blomqvist.ja...@gmail.com>: > On Thu, Jun 2, 2022 at 10:33 PM Kay Diederichs > <kay.diederi...@uni-konstanz.de> wrote: > > Am 02.06.22 um 21:06 schrieb Janne Blomqvist: > > > As an alternative approach, make a command-line option (say, "-v") > > > that prints the version number of the program, name of the author and > > > other pertinent information, as well as the output of > > > compiler_version() and compiler_options(), and then exits. That would > > > ensure that those calls won't be optimized away. > > > > > > > I was thinking of such a -v option as well, and it is a solution for > > some situations, but not e.g. for a dynamically loadable library (see > > https://cims.nyu.edu/~donev/Fortran/DLL/DLL.Forum.txt ) which is my > > situation ( > > https://strucbio.biologie.uni-konstanz.de/xdswiki/index.php/LIB ). I'd > > like to be able to see later which compiler version and options were > > used when compiling that library, because over the years of distributing > > this code, compilers and options have been changing. > > For the library case, can't you make a function > libraryname_print_version_info() or whatever you want to call it that > does the same? Of course, if the user never calls that function, uses > a static library, and everything is compiled with -ffunction-sections > and linked with --gc-sections that will not work, but otherwise the > string should still be there in the binary so you should be able to > find it with the strings tool? > > > -g includes the source code, which is not always desired, and is not > > possible here due to license issues - there was no concept of "open > > source" as we have it today in the 80ies when this code was started. > > Hmm, maybe that's the case, I don't have a legal opinion to offer on > this, sorry. > > > Also I think it makes the code slower. > > No, at least with GCC -g doesn't affect the code generation. It makes > the binary bigger so it takes longer to copy around, and depending on > how the debug info is spread out in the binary some of that might be > unnecessarily mapped into memory when running, but I think you'd be > very hard pressed to measure any difference in performance. > > -- > Janne Blomqvist >