ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
Loading...
Searching...
No Matches
Namespaces | Functions | Variables
ETISSInit.cpp File Reference

implementation of etiss::preloadLibraries More...

#include "etiss/ETISS.h"
#include "etiss/config.h"
#include <cstdlib>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
#include <boost/filesystem.hpp>
Include dependency graph for ETISSInit.cpp:

Go to the source code of this file.

Namespaces

namespace  etiss
 forwards: include/jit/*
 

Functions

std::vector< std::string > & etiss::split (const std::string &s, char delim, std::vector< std::string > &elems)
 
static bool loadLibraryList (const std::string &path)
 Load libraries specified in a list.txt file.
 
static void findLibs (const boost::filesystem::path &path, std::vector< std::string > &libs)
 Find all dynamically linked libraries in a folder and its subfolders.
 

Variables

bool etiss_preload_libraries = false
 This flag indicate whether the preloading of the libraries has been executed or not.
 

Detailed Description

implementation of etiss::preloadLibraries

Definition in file ETISSInit.cpp.

Function Documentation

◆ findLibs()

static void findLibs ( const boost::filesystem::path &  path,
std::vector< std::string > &  libs 
)
static

Find all dynamically linked libraries in a folder and its subfolders.

This function searchs a folder and its subfolders for dynamically linked libraries. The folder is provided by a string of the folder path. The strings of the library paths are inserted into the provided vector.

Parameters
pathboost::filesystem::path& Reference to a path of a folder.
libsstd::vector<std::string>& Reference to the vector where the library paths shall be stored.

Definition at line 131 of file ETISSInit.cpp.

Referenced by etiss::preloadLibraries().

Here is the caller graph for this function:

◆ loadLibraryList()

static bool loadLibraryList ( const std::string &  path)
static

Load libraries specified in a list.txt file.

This function loads the libraries specified in a list.txt file. The list.txt is a special configuration file, that contains references to libraries. list.txt Syntax in Bachus-Naur Form: <list-file> ::= <lib-ref>*

<lib-ref> ::= <remote-lib-ref> | <local-lib-ref>

<remote-lib-ref> ::= <lib-name> COMMA <lib-path> COMMA <lib-name> NEWLINE

<local-lib-ref> ::= <lib-name> NEWLINE

<lib-name> ::= The name of the library without the prefix und suffix

<lib-path> ::= The file path of the folder where the library resides

Example list.txt:

QEMU TCCJIT OR1KArch LLVMJIT,/etiss/lib/Jits,LLVMJIT ARMv6M,/etiss/lib/Archs,ARMv6M

Parameters
pathstd::string A Reference to a string of the path were the list.txt file can be found.
Returns
bool Returns true or false.

Definition at line 76 of file ETISSInit.cpp.

References etiss::ERROR, length(), etiss::loadLibrary(), etiss::log(), and etiss::split().

Referenced by etiss::preloadLibraries().

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

Variable Documentation

◆ etiss_preload_libraries

bool etiss_preload_libraries = false

This flag indicate whether the preloading of the libraries has been executed or not.

Definition at line 152 of file ETISSInit.cpp.

Referenced by etiss::preloadLibraries().