How can I remove a section from ELF during linking stage? Is there any linker option or flag for this? I'm mostly interested on how it can be done with LLVM, but any information about GCC will be appreciated as well.
Thanks!
如果您想要与默认 ELF 构造不同的任何内容——复制所有内容——那么您将需要编写链接描述文件。文件可以指定要包含的内容和放置位置。因此,您可以通过不复制来删除此部分。LLD 支持GNU LD 样式的链接器脚本。它们看起来像:
SECTIONS
{
. = 0x10000;
.text : { *(.text) }
. = 0x8000000;
.data : { *(.data) }
.bss : { *(.bss) }
}
它们在 lld 命令行中指定,例如: ld.lld --script=../linker_script xxx.o -o xxx