FD.io VPP  v21.01.1
Vector Packet Processing
elf_clib.c File Reference
+ Include dependency graph for elf_clib.c:

Go to the source code of this file.

Data Structures

struct  path_search_t
 

Functions

static void path_search_free (path_search_t *p)
 
static char ** split_string (char *string, u8 delimiter)
 
static int file_exists_and_is_executable (char *dir, char *file)
 
static char * path_search (char *file)
 
static clib_error_tclib_elf_parse_file (clib_elf_main_t *cem, char *file_name, void *link_address)
 
static int add_section (struct dl_phdr_info *info, size_t size, void *opaque)
 
__clib_export void clib_elf_main_init (char *exec_path)
 
clib_elf_section_bounds_tclib_elf_get_section_bounds (char *name)
 
static uword symbol_by_address_or_name (char *by_name, uword by_address, clib_elf_symbol_t *s)
 
uword clib_elf_symbol_by_name (char *by_name, clib_elf_symbol_t *s)
 
uword clib_elf_symbol_by_address (uword by_address, clib_elf_symbol_t *s)
 
u8format_clib_elf_symbol (u8 *s, va_list *args)
 
__clib_export u8format_clib_elf_symbol_with_address (u8 *s, va_list *args)
 

Variables

static clib_elf_main_t clib_elf_main
 

Function Documentation

◆ add_section()

static int add_section ( struct dl_phdr_info *  info,
size_t  size,
void *  opaque 
)
static

Definition at line 218 of file elf_clib.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_elf_get_section_bounds()

clib_elf_section_bounds_t* clib_elf_get_section_bounds ( char *  name)

Definition at line 273 of file elf_clib.c.

+ Here is the caller graph for this function:

◆ clib_elf_main_init()

__clib_export void clib_elf_main_init ( char *  exec_path)

Definition at line 263 of file elf_clib.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_elf_parse_file()

static clib_error_t* clib_elf_parse_file ( clib_elf_main_t cem,
char *  file_name,
void *  link_address 
)
static

Definition at line 105 of file elf_clib.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_elf_symbol_by_address()

uword clib_elf_symbol_by_address ( uword  by_address,
clib_elf_symbol_t s 
)

Definition at line 329 of file elf_clib.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_elf_symbol_by_name()

uword clib_elf_symbol_by_name ( char *  by_name,
clib_elf_symbol_t s 
)

Definition at line 323 of file elf_clib.c.

+ Here is the call graph for this function:

◆ file_exists_and_is_executable()

static int file_exists_and_is_executable ( char *  dir,
char *  file 
)
static

Definition at line 60 of file elf_clib.c.

+ Here is the caller graph for this function:

◆ format_clib_elf_symbol()

u8* format_clib_elf_symbol ( u8 s,
va_list *  args 
)

Definition at line 335 of file elf_clib.c.

◆ format_clib_elf_symbol_with_address()

__clib_export u8* format_clib_elf_symbol_with_address ( u8 s,
va_list *  args 
)

Definition at line 355 of file elf_clib.c.

+ Here is the call graph for this function:

◆ path_search()

static char* path_search ( char *  file)
static

Definition at line 76 of file elf_clib.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ path_search_free()

static void path_search_free ( path_search_t p)
inlinestatic

Definition at line 27 of file elf_clib.c.

+ Here is the caller graph for this function:

◆ split_string()

static char** split_string ( char *  string,
u8  delimiter 
)
static

Definition at line 36 of file elf_clib.c.

+ Here is the caller graph for this function:

◆ symbol_by_address_or_name()

static uword symbol_by_address_or_name ( char *  by_name,
uword  by_address,
clib_elf_symbol_t s 
)
static

Definition at line 281 of file elf_clib.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ clib_elf_main

clib_elf_main_t clib_elf_main
static

Definition at line 260 of file elf_clib.c.