gpt4 book ai didi

objdump-头ELF-标志的含义?

转载 作者:行者123 更新时间:2023-12-04 18:51:44 51 4
gpt4 key购买 nike

$ objdump -f ./a.out

./a.out:     file format elf32-i386
architecture: i386, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x080484e0

$ objdump -f function.o
function.o:     file format elf32-i386
architecture: i386, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x00000000

标志(标志0x00000011:或标志0x00000112 :)的含义是什么? ELF头文件中的Nothin具有此标志。 e_flag包含0。

有人知道他的意思吗?

谢谢

最佳答案

它们是特定于BFD的位掩码。在binutils源代码树中,请参阅bfd/bfd-in2.h:

  /* BFD contains relocation entries.  */
#define HAS_RELOC 0x01

/* BFD is directly executable. */
#define EXEC_P 0x02
...
/* BFD has symbols. */
#define HAS_SYMS 0x10
...
/* BFD is dynamically paged (this is like an a.out ZMAGIC file) (the
linker sets this by default, but clears it for -r or -n or -N). */
#define D_PAGED 0x100

这些标志值不会出现在您的目标文件中。它们只是libbfd使用的内存中表示形式。

关于objdump-头ELF-标志的含义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5235844/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com