Class: Rubycc::ObjFile::ELFReader::VersionDefinition

Inherits:
Struct
  • Object
show all
Defined in:
lib/rubycc/objfile/elf_reader.rb

Overview

One version this object defines (an Elf64_Verdef with its Elf64_Verdaux chain resolved). name is the version's own name — the first aux record — and parents the names of the versions it inherits from, in the order the chain lists them. index is vd_ndx, the number a .gnu.version entry carries to bind a symbol to this definition, and flags the raw vd_flags, of which VER_FLG_BASE marks the file's own pseudo-version (whose name is the SONAME, not a version a symbol can carry).

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#flagsObject

Returns the value of attribute flags

Returns:

  • (Object)

    the current value of flags



208
209
210
# File 'lib/rubycc/objfile/elf_reader.rb', line 208

def flags
  @flags
end

#indexObject

Returns the value of attribute index

Returns:

  • (Object)

    the current value of index



208
209
210
# File 'lib/rubycc/objfile/elf_reader.rb', line 208

def index
  @index
end

#nameObject

Returns the value of attribute name

Returns:

  • (Object)

    the current value of name



208
209
210
# File 'lib/rubycc/objfile/elf_reader.rb', line 208

def name
  @name
end

#parentsObject

Returns the value of attribute parents

Returns:

  • (Object)

    the current value of parents



208
209
210
# File 'lib/rubycc/objfile/elf_reader.rb', line 208

def parents
  @parents
end

Instance Method Details

#base?Boolean

Returns:

  • (Boolean)


209
# File 'lib/rubycc/objfile/elf_reader.rb', line 209

def base? = (flags & VER_FLG_BASE) != 0

#weak?Boolean

Returns:

  • (Boolean)


210
# File 'lib/rubycc/objfile/elf_reader.rb', line 210

def weak? = (flags & VER_FLG_WEAK) != 0