Questions tagged «elf»

ELF代表可执行和可链接格式,这是包含机器代码的文件的文件格式。


6
如何使用GMP,MPFR,MPC,ELF逐个安装GCC,而无需共享库?
如何使用当前版本, 正确的依赖版本,不使用软件包管理器(如yum,rpm,apt,dpkg)以及不使用共享库来逐步安装GCC(GNU编译器集合)? 典型的开发人员可能会想以典型的方式安装GCC,使用软件包管理器(yum,rpm,apt,dpkg,port,brew等)或按照此处的说明进行操作(http://gcc.gnu.org/wiki/ InstallationGCC)。 我的问题是如何在没有共享库的情况下逐步安装GCC。 我想要一个完全独立的GCC,可以在我的系统中移动而不使用任何共享库,也无需创建任何共享库。 这就是GCC所谓的“困难之路”,不建议一般用户使用。 GCC取决于: GMP:GNU多精度算术库 MPFR:GNU多精度浮点舍入库 MPC:GNU多精度C库 ELF:可执行和可链接格式库 PPL:Parma Polyhedra库(可选,用于内存优化)
115 gcc  elf  gmp  mpfr  mpc 


7
带有GCC的C / C ++:将资源文件静态添加到可执行文件/库
有人知道如何使用GCC将任何资源文件静态地直接编译到可执行文件或共享库文件中吗? 例如,我想要添加永不更改的图像文件(如果更改,则无论如何我都必须替换该文件),并且不希望它们位于文件系统中。 如果这是可能的(我认为是因为Windows的Visual C ++也可以这样做),如何加载存储在自己的二进制文件中的文件?可执行文件会自行解析,查找文件并从中提取数据吗? 也许我还没有看到GCC的选择。使用搜索引擎并没有真正吐出正确的东西。 我需要此功能才能用于共享库和普通的ELF可执行文件。 任何帮助表示赞赏

4
我可以在已经编译的二进制文件中更改“ rpath”吗?
我有一个计划用于废料堆的旧可执行文件,但是还不存在。它依赖于已经从我的环境中删除的一些库,但是我在某些可以正常工作的地方有一些存根库。我想将此可执行文件指向这些存根库。是的,我可以设置LD_LIBRARY_PATH,但是许多脚本都调用了此可执行文件,许多用户也希望将其修复在一个位置。 我没有这个来源,很难得到它。我当时在想-是否可以使用支持ELF的编辑器来编辑此文件,并向rpath添加一个简单的PATH使其进入新库?这是否可能,或者一旦创建了ELF二进制文件,便将其固定在位置上并且无法移动?
92 linux  linker  elf 

7
如何使用objdump反汇编一个函数?
我的系统上安装了二进制文件,并希望查看给定功能的反汇编。最好使用objdump,但其他解决方案也是可以接受的。 从这些问题中,我了解到,如果我只知道边界地址,则可以分解部分代码。从这个答案中,我学习了如何将拆分的调试符号转回单个文件。 但是,即使对单个文件进行操作,甚至分解所有代码(即,没有开始或停止地址,但使用的普通-d参数objdump),我仍然看不到该符号。只要所讨论的函数是静态的,就有意义,因此不会导出。不过,valgrind将报告函数名称,因此必须将其存储在某处。 查看调试部分的详细信息,我发现该.debug_str部分中提到的名称,但是我不知道有什么工具可以将其转换为地址范围。

8
运行节点应用程序时,bcrypt无效的elf头
我正在为学校设计一个nodejs项目。我无法使用npm安装bcrypt,因此我安装了bcrypt-nodejs,并且该项目昨天运行良好。但是今天,当我做一个“节点应用程序”时,我遇到了这个错误: /.../node_modules/bcrypt/node_modules/bindings/bindings.js:79 throw e ^ Error: /.../node_modules/bcrypt/build/Release/bcrypt_lib.node: invalid ELF header at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at bindings (/.../node_modules/bcrypt/node_modules/bindings/bindings.js:74:15) at Object.<anonymous> (/.../node_modules/bcrypt/bcrypt.js:1:97) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) 我的package.json文件如下所示: { "name": "Supinfarm", …
87 node.js  elf  bcrypt 

3
如何在Linux上检查ELF文件的数据部分的内容?
我一直在objdump查看Linux ELF二进制文件中的汇编代码。 有时会间接跳转到存储在rodata(只读数据)部分中的跳转表。 如何获取objdump或任何其他工具来向我显示此数据部分的内容? 我可以执行程序并检查调试器中的相关地址,但是我不想这样做,因为它必须以交互方式完成。 理想的答案将是找到一个不仅可以显示内容的工具,还可以让我控制显示格式的工具od。


3
ELF文件格式的节和段有什么区别
来自Wiki可执行和可链接格式: 这些段包含文件运行时执行所需的信息,而各段包含用于链接和重定位的重要数据。整个文件中的任何字节最多只能由一个部分拥有,并且可以有任何部分都不拥有的孤立字节。 但是节和段之间有什么区别?在可执行的ELF文件中,段中是否包含一个或多个节?
72 linux  debian  gnu  elf  abi 

2
'int main(){return(0);上的浮点异常(SIGFPE);}'
我正在尝试为两个不同的Linux环境构建一个简单的C程序。在一个设备上,程序运行正常,在另一设备上,程序生成浮点异常。该程序除了从main返回0之外什么都不做,这使我相信与启动代码也许不兼容,也许是ABI? 该程序使用gcc编译,具有以下构建规范: 使用内置规格。目标:i386-redhat-linux配置为:../configure --prefix = / usr --mandir = / usr / share / man --infodir = / usr / share / info --enable-shared --enable-threads = posix --enable-checking = release --with-system-zlib --enable -__ cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages = c,c ++,objc,obj-c ++ ,java,fortran,ada --enable-java-awt = gtk --disable-dssi --disable-plugin --with-java-home = / …
71 c  linux  gcc  elf  sigfpe 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.