FD.io VPP
v17.07.01-10-g3be13f0
Vector Packet Processing
|
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_BIND_NOW (1 << 3) /* No lazy binding for this 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 |