public class MachOUserDefinedSection extends MachOObjectFile.MachOSection implements ObjectFile.RelocatableSectionImpl
ELFUserDefinedSection| Modifier and Type | Field and Description |
|---|---|
protected ElementImpl |
impl |
| 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.
|
ElementImpl |
getImpl() |
int |
getMemSize(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided)
Implement this method to provide the section size in memory (at runtime).
|
com.oracle.objectfile.macho.MachORelocationElement |
getOrCreateRelocationElement(boolean useImplicitAddend)
Force the creation of a relocation section/element for this section, and return it.
|
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.
|
ObjectFile.RelocationRecord |
markRelocationSite(int offset,
int length,
ByteBuffer bb,
ObjectFile.RelocationKind k,
String symbolName,
boolean useImplicitAddend,
Long explicitAddend)
Record (in a format-specific way) that data at the given offset in the file, for the
given number of bytes, should be fixed up according to the value of the given symbol and
the given kind of relocation.
|
void |
setImpl(ElementImpl impl) |
getOwner, getSegment, isLoadable, isReferenceable, setDestinationSegmentNamegetAlignment, getElement, getElementName, getName, setElement, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetAlignment, getElement, isLoadable, isReferenceable, setElementprotected ElementImpl impl
public ElementImpl getImpl()
getImpl in class ObjectFile.Elementpublic void setImpl(ElementImpl impl)
public Iterable<BuildDependency> getDependencies(Map<ObjectFile.Element,LayoutDecisionMap> decisions)
ElementImplgetDependencies in interface ElementImplpublic int getOrDecideOffset(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, int offsetHint)
ElementImplgetOrDecideOffset in interface ElementImplpublic int getOrDecideSize(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, int sizeHint)
ElementImplgetOrDecideSize in interface ElementImplpublic byte[] getOrDecideContent(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, byte[] contentHint)
ElementImplgetOrDecideContent in interface ElementImplpublic int getOrDecideVaddr(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, int vaddrHint)
ElementImplElementImpl.isLoadable()).getOrDecideVaddr in interface ElementImplpublic int getMemSize(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided)
ElementImplgetMemSize in interface ElementImplgetMemSize in class ObjectFile.Elementpublic LayoutDecisionMap getDecisions(LayoutDecisionMap copyingIn)
getDecisions in interface ElementImplgetDecisions in class ObjectFile.Elementpublic com.oracle.objectfile.macho.MachORelocationElement getOrCreateRelocationElement(boolean useImplicitAddend)
ObjectFile.RelocatableSectionImplgetOrCreateRelocationElement in interface ObjectFile.RelocatableSectionImpluseImplicitAddend - whether the relocation section of interest is for implicit
addendspublic ObjectFile.RelocationRecord markRelocationSite(int offset, int length, ByteBuffer bb, ObjectFile.RelocationKind k, String symbolName, boolean useImplicitAddend, Long explicitAddend)
ObjectFile.RelocatableSectionImplmarkRelocationSite in interface ObjectFile.RelocatableSectionImploffset - the offset into the section contents of the beginning of the fixed-up byteslength - the length of byte sequence to be fixed upbb - the byte buffer representing the encoded section contents, at least as far as
offset + length bytesk - the kind of fixup to be appliedsymbolName - the name of the symbol whose value is used to compute the fixed-up
bytesuseImplicitAddend - whether the current bytes are to be used as an addendexplicitAddend - a full-width addend, or null if useImplicitAddend is true