Wie kann man unter Linux herausbekommen mit welcher GCC Version ein Binary compiliert wurde?



  • Ist dies überhaupt möglich?



  • Schau dir mal das Binary an, dort findest du im entsprechenden Segment meist ein String der folgenden Art:

    GCC: (Ubuntu/Linaro 4.6-20101220-1) 4.6.0 20101220 (experimental) [trunk revision 168097]


  • Mod

    Einen universellen Weg gibt es nicht. Der Compiler muss solche Infos nicht hinterlassen, könnte lügen, die Datei könnte gestrippt werden, usw.

    Aber falls der Compiler ein gcc mit den Standardeinstellungen war, hinterlässt er eine Sektion namens .comment mit der Version. Die bekommt man dann so:

    objdump -s --section .comment name_der_datei
    

    Geht bestimmt auch irgendwie mit readelf , aber ich bekomme gerade nicht raus, wie genau.

    Für andere Compiler musst du mal probieren oder in der Doku gucken, was die machen.


Anmelden zum Antworten