diff options
Diffstat (limited to 'utils/sbinfo/elf.h')
-rw-r--r-- | utils/sbinfo/elf.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/utils/sbinfo/elf.h b/utils/sbinfo/elf.h index eb990389d9..d2bf210c5c 100644 --- a/utils/sbinfo/elf.h +++ b/utils/sbinfo/elf.h | |||
@@ -80,6 +80,45 @@ typedef struct | |||
80 | 80 | ||
81 | typedef struct | 81 | typedef struct |
82 | { | 82 | { |
83 | Elf32_Word sh_name; /* Section name (string tbl index) */ | ||
84 | Elf32_Word sh_type; /* Section type */ | ||
85 | Elf32_Word sh_flags; /* Section flags */ | ||
86 | Elf32_Addr sh_addr; /* Section virtual addr at execution */ | ||
87 | Elf32_Off sh_offset; /* Section file offset */ | ||
88 | Elf32_Word sh_size; /* Section size in bytes */ | ||
89 | Elf32_Word sh_link; /* Link to another section */ | ||
90 | Elf32_Word sh_info; /* Additional section information */ | ||
91 | Elf32_Word sh_addralign; /* Section alignment */ | ||
92 | Elf32_Word sh_entsize; /* Entry size if section holds table */ | ||
93 | }Elf32_Shdr; | ||
94 | |||
95 | #define SHT_NULL 0 /* Section header table entry unused */ | ||
96 | #define SHT_PROGBITS 1 /* Program data */ | ||
97 | #define SHT_SYMTAB 2 /* Symbol table */ | ||
98 | #define SHT_STRTAB 3 /* String table */ | ||
99 | #define SHT_RELA 4 /* Relocation entries with addends */ | ||
100 | #define SHT_HASH 5 /* Symbol hash table */ | ||
101 | #define SHT_DYNAMIC 6 /* Dynamic linking information */ | ||
102 | #define SHT_NOTE 7 /* Notes */ | ||
103 | #define SHT_NOBITS 8 /* Program space with no data (bss) */ | ||
104 | #define SHT_REL 9 /* Relocation entries, no addends */ | ||
105 | #define SHT_SHLIB 10 /* Reserved */ | ||
106 | #define SHT_DYNSYM 11 /* Dynamic linker symbol table */ | ||
107 | #define SHT_INIT_ARRAY 14 /* Array of constructors */ | ||
108 | #define SHT_FINI_ARRAY 15 /* Array of destructors */ | ||
109 | #define SHT_PREINIT_ARRAY 16 /* Array of pre-constructors */ | ||
110 | #define SHT_GROUP 17 /* Section group */ | ||
111 | #define SHT_SYMTAB_SHNDX 18 /* Extended section indeces */ | ||
112 | #define SHT_NUM 19 /* Number of defined types. */ | ||
113 | |||
114 | #define SHF_WRITE (1 << 0) /* Writable */ | ||
115 | #define SHF_ALLOC (1 << 1) /* Occupies memory during execution */ | ||
116 | #define SHF_EXECINSTR (1 << 2) /* Executable */ | ||
117 | #define SHF_MERGE (1 << 4) /* Might be merged */ | ||
118 | #define SHF_STRINGS (1 << 5) /* Contains nul-terminated strings */ | ||
119 | |||
120 | typedef struct | ||
121 | { | ||
83 | Elf32_Word p_type; /* Segment type */ | 122 | Elf32_Word p_type; /* Segment type */ |
84 | Elf32_Off p_offset; /* Segment file offset */ | 123 | Elf32_Off p_offset; /* Segment file offset */ |
85 | Elf32_Addr p_vaddr; /* Segment virtual address */ | 124 | Elf32_Addr p_vaddr; /* Segment virtual address */ |