final NativeTextSectionImpl textImpl = NativeTextSectionImpl.factory(textBuffer, objectFile, codeCache);
final String textSectionName = SectionName.TEXT.getFormatDependentName(objectFile.getFormat());
textSection = objectFile.newProgbitsSection(textSectionName, objectFile.getPageSize(), false, true, textImpl);
final ProgbitsSectionImpl roDataImpl = new BasicProgbitsSectionImpl(roDataBuffer.getBytes());
final String roDataSectionName = SectionName.RODATA.getFormatDependentName(objectFile.getFormat());
roDataSection = objectFile.newProgbitsSection(roDataSectionName, objectFile.getPageSize(), false, false, roDataImpl);
final ProgbitsSectionImpl rwDataImpl = new BasicProgbitsSectionImpl(rwDataBuffer.getBytes());
final String rwDataSectionName = SectionName.DATA.getFormatDependentName(objectFile.getFormat());
rwDataSection = objectFile.newProgbitsSection(rwDataSectionName, objectFile.getPageSize(), true, false, rwDataImpl);
heapSectionImpl = new BasicProgbitsSectionImpl(heapSectionBuffer.getBytes());
final String heapSectionName = SectionName.SVM_HEAP.getFormatDependentName(objectFile.getFormat());
heapSection = objectFile.newProgbitsSection(heapSectionName, objectFile.getPageSize(), writable, false, heapSectionImpl);
objectFile.createDefinedSymbol(heapSection.getName(), heapSection, 0, 0, false, true);