elf_symbol(const environment* e,
size_t i,
size_t s,
- uint64_t val,
const string& n,
type t,
binding b,
create(const environment* e,
size_t i,
size_t s,
- uint64_t val,
const string& n,
type t,
binding b,
void
set_index(size_t);
- uint64_t
- get_value() const;
-
bool
get_is_linux_string_cst() const;
GElf_Sym symbol;
const char* sym_name_str;
size_t sym_size;
- uint64_t sym_value;
elf_symbol::type sym_type;
elf_symbol::binding sym_binding;
elf_symbol::visibility sym_visibility;
sym_visibility =
stv_to_elf_symbol_visibility(GELF_ST_VISIBILITY(symbol.st_other));
sym_size = symbol.st_size;
- sym_value = symbol.st_value;
elf_symbol::version ver;
if (get_version_for_symbol(elf_handle, symbol_index,
/*get_def_version=*/true, ver))
elf_symbol::create(env,
symbol_index,
sym_size,
- sym_value,
sym_name_str,
sym_type,
sym_binding,
elf_symbol_sptr symbol_found =
elf_symbol::create(env, i,
symbol.st_size,
- symbol.st_value,
sym_name_str,
sym_type, sym_binding,
symbol.st_shndx != SHN_UNDEF,
ABG_ASSERT(!ver.str().empty());
elf_symbol_sptr symbol_found =
elf_symbol::create(env, i, sym->st_size,
- sym->st_value,
name_str, sym_type,
sym_binding, sym_is_defined,
sym_is_common, ver, sym_visibility,
elf_symbol_sptr sym =
elf_symbol::create(env(), symbol_index, native_sym.st_size,
- native_sym.st_value, name_str,
- stt_to_elf_symbol_type
+ name_str, stt_to_elf_symbol_type
(GELF_ST_TYPE(native_sym.st_info)),
stb_to_elf_symbol_binding
(GELF_ST_BIND(native_sym.st_info)),
elf_symbol::create(env,
/*symbol index=*/ 0,
/*symbol size=*/ 0,
- /*symbol value=*/ 0,
sym_name,
/*symbol type=*/ elf_symbol::OBJECT_TYPE,
/*symbol binding=*/ elf_symbol::GLOBAL_BINDING,
elf_symbol::create(env,
/*symbol index=*/ 0,
/*symbol size=*/ 0,
- /*symbol value=*/ 0,
sym_name,
/*symbol type=*/ elf_symbol::FUNC_TYPE,
/*symbol binding=*/ elf_symbol::GLOBAL_BINDING,
const environment* env_;
size_t index_;
size_t size_;
- uint64_t value_;
string name_;
elf_symbol::type type_;
elf_symbol::binding binding_;
: env_(),
index_(),
size_(),
- value_(),
type_(elf_symbol::NOTYPE_TYPE),
binding_(elf_symbol::GLOBAL_BINDING),
visibility_(elf_symbol::DEFAULT_VISIBILITY),
priv(const environment* e,
size_t i,
size_t s,
- uint64_t val,
const string& n,
elf_symbol::type t,
elf_symbol::binding b,
: env_(e),
index_(i),
size_(s),
- value_(val),
name_(n),
type_(t),
binding_(b),
///
/// @param s the size of the symbol.
///
-/// @param val the value of the symbol.
-///
/// @param n the name of the symbol.
///
/// @param t the type of the symbol.
elf_symbol::elf_symbol(const environment* e,
size_t i,
size_t s,
- uint64_t val,
const string& n,
type t,
binding b,
const version& ve,
visibility vi,
bool is_linux_string_cst)
- : priv_(new priv(e, i, s, val, n, t, b, d,
+ : priv_(new priv(e, i, s, n, t, b, d,
c, ve, vi, is_linux_string_cst))
{}
///
/// @param s the size of the symbol.
///
-/// @param val the value of the symbol.
-///
/// @param n the name of the symbol.
///
/// @param t the type of the symbol.
elf_symbol::create(const environment* e,
size_t i,
size_t s,
- uint64_t val,
const string& n,
type t,
binding b,
visibility vi,
bool is_linux_string_cst)
{
- elf_symbol_sptr sym(new elf_symbol(e, i, s, val,
- n, t, b, d, c, ve,
+ elf_symbol_sptr sym(new elf_symbol(e, i, s, n, t, b, d, c, ve,
vi, is_linux_string_cst));
sym->priv_->main_symbol_ = sym;
return sym;
elf_symbol::set_index(size_t s)
{priv_->index_ = s;}
-/// Getter for the symbol value.
-///
-/// @return the value of the symbol.
-uint64_t
-elf_symbol::get_value() const
-{return priv_->value_;}
-
/// Test if the ELF symbol is for a string constant of a Linux binary
/// defined in the __ksymtab_strings symbol table.
///
const environment* env = ctxt.get_environment();
elf_symbol_sptr e = elf_symbol::create(env, /*index=*/0,
- size, /*value=*/0,
- name, type, binding,
+ size, name, type, binding,
is_defined, is_common,
version, visibility,
/*is_linux_string_cst=*/false);