3
我试图创建尽可能小的ELF。我创建像这样(NASM语法)的测试文件:Binutils LD创建大文件
SECTION .text
dd 0xdeadbeef
有了这个连接器脚本:
SECTIONS {
.text : {
*(.text)
}
}
然后我查平二进制的大小和的ELFs建两种方式:
nasm -f bin -o test test.asm
它是扁平的二进制,所以4个字节。
nasm -f elf -o test.o test.asm
i686-elf-ld -Tlinker.ld test.o -o test
我希望有最大500字节的东西,但最终的文件是4396字节长!然而,有一个选项名为--strip-all,可以使这个文件变小。
i686-elf-ld -Tlinker.ld test.o -o test --strip-all
4244字节。仍然很大。
LD为什么会产生这么大的文件?有没有办法让它变小?