ELF中“ .note.ABI-tag”部分的意义是什么?

时间:2018-11-18 16:52:30

标签: linux binaryfiles elf abi

.note.ABI-tag在ELF文件上时看到一个objdump -h <binary>部分。

根据ELF手册页:

   .note.ABI-tag
             This section is used to declare the expected run-time ABI
             of the ELF image.  It may include the operating system name
             and its run-time versions.  This section is of type
             SHT_NOTE.  The only attribute used is SHF_ALLOC.
  1. 此部分是否必要?
  2. 删除此部分可能会有哪些副作用?
  3. 如何从ELF中删除此部分(gcc标志)?

1 个答案:

答案 0 :(得分:2)

在某些系统上可能会破坏可执行文件。如果二进制文件的ABI与当前内核的ABI不兼容,则应该提供有关它与哪个内核兼容的信息。在此处查看更多信息https://refspecs.linuxfoundation.org/LSB_1.2.0/gLSB/noteabitag.html

但是,如果您的二进制文件不是针对特定内核编译的(不一定是Linux,因为许多不同的目标都使用ELF输出),这没关系,如果您的目标是减小可执行文件的大小,则可以将其切掉。但是,您应该注意,如果您正在执行objcopy从ELF到BIN的操作,则该操作已被忽略。