104得票3回答
ELF文件格式中的“section”和“segment”有什么区别?

来自维基百科 可执行和可链接文件格式(Executable and Linkable Format,简称ELF): 段(Segment)包含运行时执行文件所必需的信息,而节(Section)包含重要的链接和重定位数据。整个文件中的任何字节最多只能被一个节所占有,也可能存在一些孤立的字节不属于...

89得票5回答
`-rdynamic`到底是做什么的,它在什么情况下是必须的?

-rdynamic(或链接器级别的--export-dynamic)到底是做什么的,它与由-fvisibility*标志或可见性pragma和__attribute__定义的符号可见性有何关系? 对于--export-dynamic,ld(1)中提到: ... 如果您使用“dlopen”...

82得票5回答
如何检索用于编译给定ELF可执行文件的GCC版本?

我想获取用于编译给定可执行文件的GCC版本。我尝试使用readelf但没有得到信息。有什么想法吗?

73得票2回答
在“int main() { return(0); }”中出现浮点异常(SIGFPE)

我正在尝试为两个不同的Linux环境构建一个简单的C程序。在一台设备上,程序可以正常运行;而在另一台设备上,程序会生成浮点异常。该程序仅从主函数返回0,这使我相信可能存在一些与启动代码(可能是ABI)不兼容的问题。 使用gcc编译程序时,采用了以下构建规格: 使用内置规格。目标:i3...

71得票1回答
为什么使用GCC编译的C程序需要.eh_frame节?

测试在使用gcc 4.6.3编译的32位x86 Linux上进行。 当使用gcc编译C程序并使用readelf检查节信息时,可以看到.eh_frame和.eh_frame_hdr节。 例如,这是二进制程序Perlbench的节信息。readelf -S perlbench There a...

70得票4回答
arm gcc工具链作为arm-elf或arm-none-eabi,有何区别?

当你构建gcc工具链时,有可能将其构建为arm-elf或arm-none-eabi,但是它们有什么区别呢? 我今天使用eabi,但那只是因为其他人似乎都这样做...但既然这是一个非常糟糕的论点,了解一下区别会很好。 注意:这个工具链将交叉编译基于Cortex-M3的mcu,如stm32的代...

65得票4回答
readelf显示的符号表列的含义是什么?

请问有人能使用 readelf 解释符号表中列的含义吗?

63得票6回答
R_X86_64_32S和R_X86_64_64重定位是什么意思?

我试图在64位FreeBSD上编译C应用程序时,遇到了以下错误: 重定位R_X86_64_32S无法在制作共享对象时使用;请使用-fPIC重新编译 R_X86_64_32S重定位是什么?R_X86_64_64呢? 我已经通过谷歌搜索得到了该错误的可能原因,但如果有人能告诉我R_X...

57得票1回答
readelf与objdump:为什么两者都需要?

我需要学习有关ELF文件布局的知识,因为我正在开展一个项目。我注意到这些工具的存在。 为什么所有Linux发行版都包括readelf和objdump?这些工具互补吗?在什么情况下我更倾向于使用其中之一?

49得票2回答
关于DSO引用隐藏符号的警告是什么意思?

我在使用g++连接某些共享库时遇到了问题。它会给出警告: hidden symbol XXX in YYY is referenced by DSO /usr/lib/... 我已经阅读了一些关于特定问题的相关问题,但我希望全面了解 - 这个警告意味着什么,以及它的原因是什么: DS...