Linux 从剥离的ELF二进制文件估计编译器(GCC或LLVM clang)版本

Linux 从剥离的ELF二进制文件估计编译器(GCC或LLVM clang)版本,linux,gcc,elf,llvm-clang,decompiler,Linux,Gcc,Elf,Llvm Clang,Decompiler,Linux发行版的ELF二进制文件被剥离,不包括“.comment”部分。 因此,我无法获得编译器构建ELF二进制文件的信息。 我猜它们中的大多数是由GCC创建的,我想知道使用的是哪个GCC版本 我知道如果ELF二进制文件中包含“.comment”部分,我可以使用“readelf”或“objdump”获取编译器信息。 该方法之前已在stackoverflow.com上发布 我想我可以使用反编译工具(如Hex-Rays反编译器)来估计编译器版本。 如果二进制文件不是由GCC创建的,我还想知道编译

Linux发行版的ELF二进制文件被剥离,不包括“.comment”部分。 因此,我无法获得编译器构建ELF二进制文件的信息。 我猜它们中的大多数是由GCC创建的,我想知道使用的是哪个GCC版本

我知道如果ELF二进制文件中包含“.comment”部分,我可以使用“readelf”或“objdump”获取编译器信息。 该方法之前已在stackoverflow.com上发布

我想我可以使用反编译工具(如Hex-Rays反编译器)来估计编译器版本。 如果二进制文件不是由GCC创建的,我还想知道编译器的名称。例如LLVM叮当声

您知道一个工具来估计创建ELF二进制文件的编译器名称和版本吗? 我更喜欢使用免费工具

Linux发行版的ELF二进制文件被剥离,不包括“.comment”部分。因此,我无法获得编译器构建ELF二进制文件的信息

大多数二进制文件还附带一个单独的
debuginfo
包,其中包含
.comment
部分,以及完整的源代码包,允许您配置和构建(几乎)相同的二进制文件

检查debuginfo或源程序包是回答问题的一种更简单、更可靠的方法,然后再从二进制文件中进行猜测

您知道一个工具来估计创建ELF二进制文件的编译器名称和版本吗

我怀疑这样一个工具是否存在:编写这样一个工具几乎毫无意义。

debuginfo听起来很有趣。我可以使用debuginfo insall命令下载debuginfo。然而,我不明白如何使用它。请告诉我如何从调试信息中了解编译器版本。