在 ELF 中交换部分
Swap sections in ELF
有没有办法强制 gcc
或 ld
将代码段放在输出 ELF 格式文件的末尾?
也许我可以强迫他们不要制作除 .text
以外的任何其他部分,例如,如果我在 .data, .rodata, .bss
和其他部分中没有任何内容?
对我有用的最小脚本版本如下:
ENTRY(_start)
SECTIONS
{
.data : { *(.data) }
.bss : { *(.bss) *(COMMON) }
.text : { *(.text) }
}
但在我进行了更多研究后 (docs here),我已将此脚本替换为默认脚本 (ld --verbose
)。然后我将代码部分放在冗长脚本的最后,它运行得很好。
有没有办法强制 gcc
或 ld
将代码段放在输出 ELF 格式文件的末尾?
也许我可以强迫他们不要制作除 .text
以外的任何其他部分,例如,如果我在 .data, .rodata, .bss
和其他部分中没有任何内容?
对我有用的最小脚本版本如下:
ENTRY(_start)
SECTIONS
{
.data : { *(.data) }
.bss : { *(.bss) *(COMMON) }
.text : { *(.text) }
}
但在我进行了更多研究后 (docs here),我已将此脚本替换为默认脚本 (ld --verbose
)。然后我将代码部分放在冗长脚本的最后,它运行得很好。