![]() |
FD.io VPP
v21.01.1
Vector Packet Processing
|
Include dependency graph for elf.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | elf_first_header_t |
| struct | elf32_file_header_t |
| struct | elf64_file_header_t |
| struct | elf32_section_header_t |
| struct | elf64_section_header_t |
| struct | elf32_segment_header_t |
| struct | elf64_segment_header_t |
| struct | elf32_symbol_t |
| struct | elf64_symbol_t |
| struct | elf_symbol_info_t |
| struct | elf32_relocation_t |
| struct | elf64_relocation_t |
| struct | elf_relocation_with_addend_t |
| struct | elf32_dynamic_entry_t |
| struct | elf64_dynamic_entry_t |
| struct | elf_dynamic_version_definition_t |
| struct | elf_dynamic_version_definition_aux_t |
| struct | elf_dynamic_version_need_t |
| struct | elf_dynamic_version_need_aux_t |
| union | elf_dynamic_version_need_union_t |
| struct | elf_note_t |
| struct | elf_symbol_table_t |
| struct | elf_relocation_table_t |
| struct | elf_section_t |
| struct | elf_segment_t |
| struct | elf_main_t |
Macros | |
| #define | foreach_elf_file_class _ (CLASS_NONE) _ (32BIT) _ (64BIT) |
| #define | foreach_elf_data_encoding |
| #define | ELF_VERSION_NONE (0) |
| #define | ELF_VERSION_CURRENT (1) |
| #define | foreach_elf_abi |
| #define | foreach_elf_file_type |
| #define | foreach_elf_architecture |
| #define | foreach_elf32_file_header |
| #define | foreach_elf64_file_header |
| #define | foreach_elf32_section_header |
| #define | foreach_elf64_section_header |
| #define | foreach_elf32_segment_header |
| #define | foreach_elf64_segment_header |
| #define | foreach_elf32_symbol_header |
| #define | foreach_elf64_symbol_header |
| #define | foreach_elf_symbol_reserved_section_index |
| #define | ELF_SYMBOL_SECTION_RESERVED_LO 0xff00 |
| #define | ELF_SYMBOL_SECTION_RESERVED_HI 0xffff |
| #define | ELF_SYMBOL_SECTION_ARCH_SPECIFIC_LO 0xff00 |
| #define | ELF_SYMBOL_SECTION_ARCH_SPECIFIC_HI 0xff1f |
| #define | ELF_SYMBOL_SECTION_OS_SPECIFIC_LO 0xff20 |
| #define | ELF_SYMBOL_SECTION_OS_SPECIFIC_HI 0xff3f |
| #define | foreach_elf_section_type |
| #define | foreach_elf_section_flag |
| #define | foreach_elf_symbol_binding |
| #define | foreach_elf_symbol_type |
| #define | foreach_elf_symbol_visibility |
| #define | foreach_elf_symbol_info_bound_to |
| #define | foreach_elf_symbol_info_flags |
| #define | elf_relocation_next(r, type) |
| #define | foreach_elf_segment_type |
| #define | foreach_elf_segment_flag |
| #define | foreach_elf32_dynamic_entry_header |
| #define | foreach_elf64_dynamic_entry_header |
| #define | foreach_elf_dynamic_entry_type |
| #define | ELF_DYNAMIC_FLAGS_ORIGIN (1 << 0) /* Object may use DF_ORIGIN */ |
| #define | ELF_DYNAMIC_FLAGS_SYMBOLIC (1 << 1) /* Symbol resolutions starts here */ |
| #define | ELF_DYNAMIC_FLAGS_TEXT_RELOCATIONS (1 << 2) /* Object contains text relocations */ |
| #define | ELF_DYNAMIC_FLAGS_BIND_NOW (1 << 3) /* No lazy binding for this object */ |
| #define | ELF_DYNAMIC_FLAGS_STATIC_TLS (1 << 4) /* Module uses the static TLS model */ |
| #define | DF_1_NOW 0x00000001 /* Set RTLD_NOW for this object. */ |
| #define | DF_1_GLOBAL 0x00000002 /* Set RTLD_GLOBAL for this object. */ |
| #define | DF_1_GROUP 0x00000004 /* Set RTLD_GROUP for this object. */ |
| #define | DF_1_NODELETE 0x00000008 /* Set RTLD_NODELETE for this object. */ |
| #define | DF_1_LOADFLTR 0x00000010 /* Trigger filtee loading at runtime. */ |
| #define | DF_1_INITFIRST 0x00000020 /* Set RTLD_INITFIRST for this object */ |
| #define | DF_1_NOOPEN 0x00000040 /* Set RTLD_NOOPEN for this object. */ |
| #define | DF_1_ORIGIN 0x00000080 /* $ORIGIN must be handled. */ |
| #define | DF_1_DIRECT 0x00000100 /* Direct binding enabled. */ |
| #define | DF_1_TRANS 0x00000200 |
| #define | DF_1_INTERPOSE 0x00000400 /* Object is used to interpose. */ |
| #define | DF_1_NODEFLIB 0x00000800 /* Ignore default lib search path. */ |
| #define | DF_1_NODUMP 0x00001000 /* Object can't be dldump'ed. */ |
| #define | DF_1_CONFALT 0x00002000 /* Configuration alternative created. */ |
| #define | DF_1_ENDFILTEE 0x00004000 /* Filtee terminates filters search. */ |
| #define | DF_1_DISPRELDNE 0x00008000 /* Disp reloc applied at build time. */ |
| #define | DF_1_DISPRELPND 0x00010000 /* Disp reloc applied at run-time. */ |
| #define | DTF_1_PARINIT 0x00000001 |
| #define | DTF_1_CONFEXP 0x00000002 |
| #define | DF_P1_LAZYLOAD 0x00000001 /* Lazyload following object. */ |
| #define | DF_P1_GROUPPERM |
| #define | ELF_DYNAMIC_VERSION_FILE (1 << 0) /* Version definition of file itself */ |
| #define | ELF_DYNAMIC_VERSION_WEAK (1 << 1) /* Weak version identifier */ |
| #define | ELF_DYNAMIC_VERSYM_LOCAL 0 /* Symbol is local. */ |
| #define | ELF_DYNAMIC_VERSYM_GLOBAL 1 /* Symbol is global. */ |
| #define | ELF_DYNAMIC_VERSYM_RESERVED_LO 0xff00 /* Beginning of reserved entries. */ |
| #define | ELF_DYNAMIC_VERSYM_ELIMINATE 0xff01 /* Symbol is to be eliminated. */ |
| #define | foreach_elf_dynamic_version_need_field |
| #define | foreach_elf_dynamic_version_need_aux_field |
| #define | ELF_NOTE_SOLARIS "SUNW Solaris" |
| #define | ELF_NOTE_GNU "GNU" |
| #define | ELF_NOTE_PAGESIZE_HINT 1 |
| #define | ELF_NOTE_ABI 1 |
| #define | ELF_NOTE_OS_LINUX 0 |
| #define | ELF_NOTE_OS_GNU 1 |
| #define | ELF_NOTE_OS_SOLARIS2 2 |
| #define | ELF_NOTE_OS_FREEBSD 3 |
| #define | foreach_elf_x86_64_relocation_type |
| #define | FORMAT_ELF_MAIN_SYMBOLS (1 << 0) |
| #define | FORMAT_ELF_MAIN_RELOCATIONS (1 << 1) |
| #define | FORMAT_ELF_MAIN_DYNAMIC (1 << 2) |
Enumerations | |
| enum | elf_file_class_t { ELF_N_FILE_CLASS } |
| enum | elf_data_encoding_t { ELF_N_DATA_ENCODING } |
| enum | elf_abi_t { foreach_elf_abi } |
| enum | elf_file_type_t { foreach_elf_file_type } |
| enum | elf_architecture_t { foreach_elf_architecture } |
| enum | elf_section_type_t { ELF_SECTION_OS_SPECIFIC_HI = 0x6fffffff } |
| enum | elf_section_flag_bit_t { foreach_elf_section_flag } |
| enum | elf_section_flag_t { foreach_elf_section_flag } |
| enum | elf_segment_type_t { foreach_elf_segment_type } |
| enum | elf_segment_flag_bit_t { foreach_elf_segment_flag } |
| enum | elf_segment_flag_t { foreach_elf_segment_flag } |
| enum | elf_dynamic_entry_type_t { foreach_elf_dynamic_entry_type } |
Variables | |
| format_function_t | format_elf_main |
| format_function_t | format_elf_symbol |
| #define DF_1_CONFALT 0x00002000 /* Configuration alternative created. */ |
| #define DF_1_DISPRELDNE 0x00008000 /* Disp reloc applied at build time. */ |
| #define DF_1_DISPRELPND 0x00010000 /* Disp reloc applied at run-time. */ |
| #define DF_1_ENDFILTEE 0x00004000 /* Filtee terminates filters search. */ |
| #define DF_1_GLOBAL 0x00000002 /* Set RTLD_GLOBAL for this object. */ |
| #define DF_1_GROUP 0x00000004 /* Set RTLD_GROUP for this object. */ |
| #define DF_1_INITFIRST 0x00000020 /* Set RTLD_INITFIRST for this object */ |
| #define DF_1_INTERPOSE 0x00000400 /* Object is used to interpose. */ |
| #define DF_1_LOADFLTR 0x00000010 /* Trigger filtee loading at runtime. */ |
| #define DF_1_NODEFLIB 0x00000800 /* Ignore default lib search path. */ |
| #define DF_1_NODELETE 0x00000008 /* Set RTLD_NODELETE for this object. */ |
| #define DF_1_NODUMP 0x00001000 /* Object can't be dldump'ed. */ |
| #define DF_1_NOOPEN 0x00000040 /* Set RTLD_NOOPEN for this object. */ |
| #define DF_1_NOW 0x00000001 /* Set RTLD_NOW for this object. */ |
| #define DF_P1_GROUPPERM |
| #define DF_P1_LAZYLOAD 0x00000001 /* Lazyload following object. */ |
| #define ELF_DYNAMIC_FLAGS_ORIGIN (1 << 0) /* Object may use DF_ORIGIN */ |
| #define ELF_DYNAMIC_FLAGS_STATIC_TLS (1 << 4) /* Module uses the static TLS model */ |
| #define ELF_DYNAMIC_FLAGS_SYMBOLIC (1 << 1) /* Symbol resolutions starts here */ |
| #define ELF_DYNAMIC_FLAGS_TEXT_RELOCATIONS (1 << 2) /* Object contains text relocations */ |
| #define ELF_DYNAMIC_VERSION_FILE (1 << 0) /* Version definition of file itself */ |
| #define ELF_DYNAMIC_VERSION_WEAK (1 << 1) /* Weak version identifier */ |
| #define ELF_DYNAMIC_VERSYM_ELIMINATE 0xff01 /* Symbol is to be eliminated. */ |
| #define ELF_DYNAMIC_VERSYM_RESERVED_LO 0xff00 /* Beginning of reserved entries. */ |
| #define elf_relocation_next | ( | r, | |
| type | |||
| ) |
| #define foreach_elf32_dynamic_entry_header |
| #define foreach_elf32_file_header |
| #define foreach_elf32_section_header |
| #define foreach_elf32_segment_header |
| #define foreach_elf32_symbol_header |
| #define foreach_elf64_dynamic_entry_header |
| #define foreach_elf64_file_header |
| #define foreach_elf64_section_header |
| #define foreach_elf64_segment_header |
| #define foreach_elf64_symbol_header |
| #define foreach_elf_abi |
| #define foreach_elf_data_encoding |
| #define foreach_elf_dynamic_version_need_aux_field |
| #define foreach_elf_dynamic_version_need_field |
| #define foreach_elf_file_class _ (CLASS_NONE) _ (32BIT) _ (64BIT) |
| #define foreach_elf_file_type |
| foreach_elf_section_flag |
| #define foreach_elf_section_type |
| foreach_elf_segment_flag |
| #define foreach_elf_segment_type |
| #define foreach_elf_symbol_binding |
| #define foreach_elf_symbol_info_bound_to |
| #define foreach_elf_symbol_info_flags |
| #define foreach_elf_symbol_reserved_section_index |
| #define foreach_elf_symbol_type |
| #define foreach_elf_symbol_visibility |
| #define foreach_elf_x86_64_relocation_type |
| enum elf_architecture_t |
| enum elf_data_encoding_t |
| enum elf_file_class_t |
| enum elf_file_type_t |
| enum elf_section_flag_t |
| enum elf_section_type_t |
| enum elf_segment_flag_t |
| enum elf_segment_type_t |
| void elf_create_section_with_contents | ( | elf_main_t * | em, |
| char * | section_name, | ||
| elf64_section_header_t * | header, | ||
| void * | contents, | ||
| uword | n_content_bytes | ||
| ) |
| clib_error_t* elf_delete_named_section | ( | elf_main_t * | em, |
| char * | section_name | ||
| ) |
| uword elf_delete_segment_with_type | ( | elf_main_t * | em, |
| elf_segment_type_t | segment_type | ||
| ) |
| clib_error_t* elf_get_section_by_name | ( | elf_main_t * | em, |
| char * | section_name, | ||
| elf_section_t ** | result | ||
| ) |
| clib_error_t* elf_get_section_by_start_address | ( | elf_main_t * | em, |
| uword | start_address, | ||
| elf_section_t ** | result | ||
| ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
| clib_error_t* elf_parse | ( | elf_main_t * | em, |
| void * | data, | ||
| uword | data_bytes | ||
| ) |
| void elf_parse_symbols | ( | elf_main_t * | em | ) |
| clib_error_t* elf_read_file | ( | elf_main_t * | em, |
| char * | file_name | ||
| ) |
|
inlinestatic |
|
inlinestatic |
| void elf_set_dynamic_entries | ( | elf_main_t * | em | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
| clib_error_t* elf_write_file | ( | elf_main_t * | em, |
| char * | file_name | ||
| ) |
| format_function_t format_elf_main |
| format_function_t format_elf_symbol |