HPCToolkit
eh-frames.cpp File Reference
#include <sys/types.h>
#include <sys/stat.h>
#include <dlfcn.h>
#include <err.h>
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <boost/tokenizer.hpp>
#include <libdwarf.h>
#include <include/hpctoolkit-config.h>
#include "eh-frames.h"
#include <set>
#include <string>
Include dependency graph for eh-frames.cpp:

Go to the source code of this file.

Macros

#define EXT_LIBS_DIR_STR   "HPCTOOLKIT_EXT_LIBS_DIR"
 
#define LD_LIBRARY_PATH   "LD_LIBRARY_PATH"
 
#define LIBDWARF_NAME   "libdwarf.so"
 
#define DLOPEN_OPTS   (RTLD_NOW | RTLD_LOCAL)
 
#define KEEP_LIBDWARF_OPEN   0
 
#define DWARF_INIT   dwarf_init
 
#define DWARF_FINISH   dwarf_finish
 
#define DWARF_DEALLOC   dwarf_dealloc
 
#define DWARF_GET_FDE_LIST_EH   dwarf_get_fde_list_eh
 
#define DWARF_GET_FDE_RANGE   dwarf_get_fde_range
 
#define DWARF_FDE_CIE_LIST_DEALLOC   dwarf_fde_cie_list_dealloc
 

Typedefs

typedef set< void * > AddrSet
 

Functions

static void dwarf_frame_info_help (int, AddrSet &)
 
static int get_libdwarf_functions (void)
 
static void release_libdwarf_functions (void)
 
void dwarf_eh_frame_info (int fd)
 

Macro Definition Documentation

◆ DLOPEN_OPTS

#define DLOPEN_OPTS   (RTLD_NOW | RTLD_LOCAL)

Definition at line 94 of file eh-frames.cpp.

◆ DWARF_DEALLOC

#define DWARF_DEALLOC   dwarf_dealloc

Definition at line 150 of file eh-frames.cpp.

◆ DWARF_FDE_CIE_LIST_DEALLOC

#define DWARF_FDE_CIE_LIST_DEALLOC   dwarf_fde_cie_list_dealloc

Definition at line 153 of file eh-frames.cpp.

◆ DWARF_FINISH

#define DWARF_FINISH   dwarf_finish

Definition at line 149 of file eh-frames.cpp.

◆ DWARF_GET_FDE_LIST_EH

#define DWARF_GET_FDE_LIST_EH   dwarf_get_fde_list_eh

Definition at line 151 of file eh-frames.cpp.

◆ DWARF_GET_FDE_RANGE

#define DWARF_GET_FDE_RANGE   dwarf_get_fde_range

Definition at line 152 of file eh-frames.cpp.

◆ DWARF_INIT

#define DWARF_INIT   dwarf_init

Definition at line 148 of file eh-frames.cpp.

◆ EXT_LIBS_DIR_STR

#define EXT_LIBS_DIR_STR   "HPCTOOLKIT_EXT_LIBS_DIR"

Definition at line 90 of file eh-frames.cpp.

◆ KEEP_LIBDWARF_OPEN

#define KEEP_LIBDWARF_OPEN   0

Definition at line 96 of file eh-frames.cpp.

◆ LD_LIBRARY_PATH

#define LD_LIBRARY_PATH   "LD_LIBRARY_PATH"

Definition at line 91 of file eh-frames.cpp.

◆ LIBDWARF_NAME

#define LIBDWARF_NAME   "libdwarf.so"

Definition at line 93 of file eh-frames.cpp.

Typedef Documentation

◆ AddrSet

typedef set<void *> AddrSet

Definition at line 86 of file eh-frames.cpp.

Function Documentation

◆ dwarf_eh_frame_info()

void dwarf_eh_frame_info ( int  fd)

Definition at line 292 of file eh-frames.cpp.

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

◆ dwarf_frame_info_help()

static void dwarf_frame_info_help ( int  fd,
AddrSet addrSet 
)
static

Definition at line 323 of file eh-frames.cpp.

Here is the caller graph for this function:

◆ get_libdwarf_functions()

static int get_libdwarf_functions ( void  )
static

Definition at line 165 of file eh-frames.cpp.

Here is the caller graph for this function:

◆ release_libdwarf_functions()

static void release_libdwarf_functions ( void  )
static

Definition at line 272 of file eh-frames.cpp.

Here is the caller graph for this function: