public class ELFSymtab extends ELFObjectFile.ELFSection implements SymbolTable
| Modifier and Type | Class and Description |
|---|---|
static class |
ELFSymtab.PseudoSection |
static class |
ELFSymtab.SymBinding |
static class |
ELFSymtab.SymType |
| Constructor and Description |
|---|
ELFSymtab(ELFObjectFile owner,
String name,
boolean dynamic) |
ELFSymtab(ELFObjectFile owner,
String name,
boolean dynamic,
EnumSet<ELFObjectFile.ELFSectionFlag> extraFlags) |
| Modifier and Type | Method and Description |
|---|---|
LayoutDecisionMap |
getDecisions(LayoutDecisionMap copyingIn) |
Iterable<BuildDependency> |
getDependencies(Map<ObjectFile.Element,LayoutDecisionMap> decisions)
Implementing this method allows to declare dependencies to other Sections (i.e.
|
int |
getEntrySize() |
ElementImpl |
getImpl() |
long |
getLinkedInfo() |
ELFObjectFile.ELFSection |
getLinkedSection() |
com.oracle.objectfile.elf.ELFSymtab.Entry |
getNullEntry() |
byte[] |
getOrDecideContent(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided,
byte[] contentHint)
Implement this method to deliver the content of the section.
|
int |
getOrDecideOffset(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided,
int offsetHint)
Implement this method to provide the offset this section should be placed at.
|
int |
getOrDecideSize(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided,
int sizeHint)
Implement this method to provide the size of this section.
|
int |
getOrDecideVaddr(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided,
int vaddrHint)
Implement this method to provide the virtual address of this section.
|
com.oracle.objectfile.elf.ELFSymtab.Entry |
getSymbol(String name) |
int |
indexOf(ObjectFile.Symbol sym) |
boolean |
isDynamic() |
Iterator<ObjectFile.Symbol> |
iterator() |
ObjectFile.Symbol |
newDefinedEntry(String name,
ObjectFile.Section referencedSection,
long referencedOffset,
long size,
boolean isGlobal,
boolean isCode) |
ObjectFile.Symbol |
newUndefinedEntry(String name,
boolean isCode) |
getFlags, getOwner, getType, isLoadable, isReferenceable, setFlagsgetAlignment, getElement, getElementName, getMemSize, getName, setElement, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforEach, spliteratorpublic ELFSymtab(ELFObjectFile owner, String name, boolean dynamic)
public ELFSymtab(ELFObjectFile owner, String name, boolean dynamic, EnumSet<ELFObjectFile.ELFSectionFlag> extraFlags)
public ElementImpl getImpl()
getImpl in class ObjectFile.Elementpublic int getEntrySize()
getEntrySize in class ELFObjectFile.ELFSectionpublic ELFObjectFile.ELFSection getLinkedSection()
getLinkedSection in class ELFObjectFile.ELFSectionpublic long getLinkedInfo()
getLinkedInfo in class ELFObjectFile.ELFSectionpublic byte[] getOrDecideContent(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, byte[] contentHint)
ElementImplgetOrDecideContent in interface ElementImplpublic int getOrDecideSize(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, int sizeHint)
ElementImplgetOrDecideSize in interface ElementImplpublic Iterable<BuildDependency> getDependencies(Map<ObjectFile.Element,LayoutDecisionMap> decisions)
ElementImplgetDependencies in interface ElementImplpublic boolean isDynamic()
public ObjectFile.Symbol newDefinedEntry(String name, ObjectFile.Section referencedSection, long referencedOffset, long size, boolean isGlobal, boolean isCode)
newDefinedEntry in interface SymbolTablepublic ObjectFile.Symbol newUndefinedEntry(String name, boolean isCode)
newUndefinedEntry in interface SymbolTablepublic com.oracle.objectfile.elf.ELFSymtab.Entry getNullEntry()
public int indexOf(ObjectFile.Symbol sym)
public Iterator<ObjectFile.Symbol> iterator()
iterator in interface Iterable<ObjectFile.Symbol>public com.oracle.objectfile.elf.ELFSymtab.Entry getSymbol(String name)
getSymbol in interface SymbolTablepublic int getOrDecideOffset(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, int offsetHint)
ElementImplgetOrDecideOffset in interface ElementImplpublic int getOrDecideVaddr(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, int vaddrHint)
ElementImplElementImpl.isLoadable()).getOrDecideVaddr in interface ElementImplpublic LayoutDecisionMap getDecisions(LayoutDecisionMap copyingIn)
getDecisions in interface ElementImplgetDecisions in class ObjectFile.Element