elf

    4热度

    1回答

    ,如果我不喜欢这个 gcc -shared libfoo.o -o libfoo.so ,并连接它, 如何链接找到我的共享库SONAME创建一个共享库? 文件名libfoo.so被链接器视为默认SONAME吗?

    1热度

    1回答

    我有一个32位的基础上的FreeBSD V8.1并尝试在64位的FreeBSD V8.1运行它,它失败: [si-fbsd8x64b ~] flume --version ELF interpreter /libexec/ld-elf.so.1 not found Abort trap: 6 可这工作,如果是的话,我需要什么样的变化使它成为可能?

    4热度

    3回答

    int i; int main() { return i; } 编译-static后readelf -l显示程序头从精灵: Elf file type is EXEC (Executable file) Entry point 0xxxxx30 There are 6 program headers, starting at offset 52 Program Head

    3热度

    2回答

    使用MacPorts我刚刚在我的MacBook Pro上安装了arm-elf-gcc。这工作完美无缺,似乎都运行良好。 但是,在C和C++编译一个简单的hello world测试程序并尝试在目标板(运行Debian Linux的基于ARM9的电路板)上运行后,它们立即发生故障。 我有点卡住了如何去调试这个,因为目标板的可用工具有限,没有gdb。我已经使用Linux托管的交叉编译器成功构建并运行了其

    6热度

    3回答

    add2.c: int counter=0; int a=0; int b; int c; int add(int a, int b) { return a+b; } 编译: GCC -c add2.c -o add2.o 读符号表: readelf --symbols add2.o Symbol table '.symtab' contains 12 entries:

    25热度

    4回答

    我想尽可能地剥离可执行文件 - 在Linux上:ELF。我只想在那里运行它。 我尝试使用strip: strip --strip-all elf 但它似乎并没有做好:nm仍然显示很多东西,和二进制仍然是很大的。 我该怎么办?

    11热度

    3回答

    我有一个系统“fsimage.so”,需要mkdirp,它恰好位于libgen.so中。但是fsimage.so不知道这一点。例如: # ldd /usr/lib/python2.4/vendor-packages/fsimage.so libfsimage.so.1.0 => /usr/lib/libfsimage.so.1.0 libxml2.so.2 => /lib/l

    2热度

    1回答

    我正在使用自定义链接器脚本将内核映像拆分为两部分。第一个是正常的代码和数据,第二个是初始化代码和不再需要时丢弃的数据。初始化部分也不是以内核本身的方式在地址空间之间共享的,所以如果fork()仍处于开发阶段(它处于开发的早期阶段),那么fork()上的任何内容都会被复制。 我已分配了一个小的内核堆栈,同时启动使用,但是从我所看到的,我只能把它要么在.bss段那里得到的地址空间或之间在init区域共

    4热度

    3回答

    我一直在阅读ELF规范,无法确定程序入口点和_start地址的来源。 看起来他们应该在一个非常一致的地方,但我做了一些简单的程序,_start总是在不同的地方。 任何人都可以澄清?

    1热度

    2回答

    我使用readelf实用程序检查(-h)可执行文件,并且我看到e_entry字段的值为:0x8048530。然后我重新编译已检查的程序,并通过添加printf(“%p \ n”,(void *)main)和output:0x80485e4来打印自己的程序条目。为什么我有这种差异? (OS:Linux 32位)