草庐IT

Riscv-elf

全部标签

c - gcc给linux ELF增加了哪些功能?

当用gcc链接一个用c(或asm)编写的类似hello-world的程序时,它会将一些内容添加到结果可执行目标文件中。我只知道运行时动态链接器和_start入口点,但这些添加的函数是什么样的?00000000004003f0tderegister_tm_clones0000000000400430tregister_tm_clones0000000000400470t__do_global_dtors_aux0000000000400490tframe_dummy00000000004004e0T__libc_csu_init0000000000400550T__libc_csu_fi

c - gcc给linux ELF增加了哪些功能?

当用gcc链接一个用c(或asm)编写的类似hello-world的程序时,它会将一些内容添加到结果可执行目标文件中。我只知道运行时动态链接器和_start入口点,但这些添加的函数是什么样的?00000000004003f0tderegister_tm_clones0000000000400430tregister_tm_clones0000000000400470t__do_global_dtors_aux0000000000400490tframe_dummy00000000004004e0T__libc_csu_init0000000000400550T__libc_csu_fi

关于 xilinx sdk软核elf文件与xilinx vivado bit文件合并的方法

xilinx软核elf文件与xilinxvivadobit文件合并的方法xilinx软核elf文件与xilinxvivadobit文件合并的方法一、背景二、elf文件与bit文件合并的步骤1.vivado工具中打开associateelffiles窗口2.添加sdk中的elf文件3.重新生成bit文件三、总结一、背景在版本的Vivado配套的软件工具是SDK,当vivado中使用软核时候,需要将软核生成的elf文件与vivado生成的bit文件合并成一个最终的BIT文件,然后再将此BIT文件下载到FPGA中,或者转化为MCS文件固化到Flash中,这样才不用每次都打开SDK,重新跑一遍SDK的

c - ELF 文件的 .bss 部分应该在哪里占用内存?

已知.bss段没有存储在磁盘中,但内存中的.bss段应该初始化为零。但它应该在内存中的哪个位置?是否有任何信息显示在ELFheader或.bss部分是否可能出现在数据部分旁边,或其他内容?? 最佳答案 BSS位于数据和堆之间,详见thismarvelousarticle.您可以使用size找出每个部分的大小:cnicutar@lemon:~$sizetrytextdatabssdechexfilename1108496161620654try 关于c-ELF文件的.bss部分应该在哪里占

c - ELF 文件的 .bss 部分应该在哪里占用内存?

已知.bss段没有存储在磁盘中,但内存中的.bss段应该初始化为零。但它应该在内存中的哪个位置?是否有任何信息显示在ELFheader或.bss部分是否可能出现在数据部分旁边,或其他内容?? 最佳答案 BSS位于数据和堆之间,详见thismarvelousarticle.您可以使用size找出每个部分的大小:cnicutar@lemon:~$sizetrytextdatabssdechexfilename1108496161620654try 关于c-ELF文件的.bss部分应该在哪里占

c - 必须将 ELF 文件的哪一部分加载到内存中?

可执行文件的ELF文件有一个程序(段)头和一个节头,通过readelf-a可以看到,下面是一个例子:上面两张图分别是sectionheader和program(segment)header。可以看出,一个段头是由几个段头组成的,用于将程序加载到内存中。是否只需要将.text、.rodata、.data、.bss段加载到内存中?段中的所有其他部分(例如,第3段中的.ctors、.dtors.jcr)是否都用于对齐? 最佳答案 节和段是完全不同的两个概念。部分与存储在那里的数据的语义有关(即它将用于什么),并且一旦链接程序或共享库,除了

c - 必须将 ELF 文件的哪一部分加载到内存中?

可执行文件的ELF文件有一个程序(段)头和一个节头,通过readelf-a可以看到,下面是一个例子:上面两张图分别是sectionheader和program(segment)header。可以看出,一个段头是由几个段头组成的,用于将程序加载到内存中。是否只需要将.text、.rodata、.data、.bss段加载到内存中?段中的所有其他部分(例如,第3段中的.ctors、.dtors.jcr)是否都用于对齐? 最佳答案 节和段是完全不同的两个概念。部分与存储在那里的数据的语义有关(即它将用于什么),并且一旦链接程序或共享库,除了

node.js - 运行 Node 应用程序时bcrypt无效的elf header

我正在为学校开发一个nodejs项目。我无法使用npm安装bcrypt,所以我安装了bcrypt-nodejs,并且该项目昨天运行良好。但是今天,当我做一个“Node应用程序”时,我遇到了这个错误:/.../node_modules/bcrypt/node_modules/bindings/bindings.js:79throwe^Error:/.../node_modules/bcrypt/build/Release/bcrypt_lib.node:invalidELFheaderatModule.load(module.js:356:32)atFunction.Module._lo

node.js - 运行 Node 应用程序时bcrypt无效的elf header

我正在为学校开发一个nodejs项目。我无法使用npm安装bcrypt,所以我安装了bcrypt-nodejs,并且该项目昨天运行良好。但是今天,当我做一个“Node应用程序”时,我遇到了这个错误:/.../node_modules/bcrypt/node_modules/bindings/bindings.js:79throwe^Error:/.../node_modules/bcrypt/build/Release/bcrypt_lib.node:invalidELFheaderatModule.load(module.js:356:32)atFunction.Module._lo

make编译出错Relocations in generic ELF (EM: 62)

参考:编译出错RelocationsingenericELF(EM:62)main.o:RelocationsingenericELF(EM:62)错误信息是:通过查看文件main.o,发现ELF64bit,x86-64,在嵌入式中应该用ARM架构,不是x86解决1:删除main.o再次make-j4但是又出现了,其他.o文件,也出现同一的情况解决2:makeclean再次make-j4但是又出现了,main.o文件,main.o:RelocationsingenericELF(EM:62)解决3:连续执行5次makeclean,再次make-j4问题解决:其实是因为在别人电脑拿到代码,Mak