在ELF中交换部分

时间:2017-01-26 20:59:39

标签: linux assembly elf

有没有办法强制gccld将代码部分放在输出ELF格式文件的末尾?

也许我可以强制他们不要生成除.text之外的任何其他部分,例如,如果.data, .rodata, .bss和其他部分中没有任何内容?

1 个答案:

答案 0 :(得分:0)

适合我的脚本的最小版本看起来像:

ENTRY(_start)

SECTIONS 
{ 
    .data : { *(.data) }
    .bss :  { *(.bss)  *(COMMON) }  
    .text : { *(.text) }
} 

但在我做了一些研究(docs here)后,我用默认的(ld --verbose)替换了这个脚本。然后我只是将代码部分放在详细脚本的最后,它工作得很好。