public List<Section> getElements() { return Collections.singletonList(getElement()); }
@Override public Set<BuildDependency> getDependencies(Map<Element, LayoutDecisionMap> decisions) { // we can get away with minimal dependencies, because we have no // content-> size dependency by default return ObjectFile.minimalDependencies(decisions, getElement()); }
@Override public Element getOrCreateRelocationElement(boolean useImplicitAddend) { // FIXME: This looks suspicious: turning an Element back into an Impl? return ((RelocatableSectionImpl) getElement()).getOrCreateRelocationElement(useImplicitAddend); }
@Override public int getAlignment() { return getElement().getAlignment(); }
@Override public final RelocationRecord markRelocationSite(int offset, int length, ByteBuffer bb, RelocationKind k, String symbolName, boolean useImplicitAddend, Long explicitAddend) { assert getContent() == null || bb.array() == getContent(); return ((RelocatableSectionImpl) getElement()).markRelocationSite(offset, length, bb, k, symbolName, useImplicitAddend, explicitAddend); }
@Override public RelocationRecord markRelocationSite(int offset, int length, RelocationKind k, String symbolName, boolean useImplicitAddend, Long explicitAddend) { return ((RelocatableSectionImpl) getElement()).markRelocationSite(offset, length, ByteBuffer.wrap(getContent()).order(getOwner().getByteOrder()), k, symbolName, useImplicitAddend, explicitAddend); }