virtualvoid Start() = 0; // Prepares memory layout of the whole ELF file, and creates dynamic symbols // which point to specific areas of interest (usually section begin and end). // This is needed as multi-image needs to know the memory layout of all ELF // files, before starting to write them. // This method must be called before calling GetLoadedSize(). virtualvoid PrepareDynamicSection(size_t rodata_size,
size_t text_size,
size_t data_img_rel_ro_size,
size_t data_img_rel_ro_app_image_offset,
size_t bss_size,
size_t bss_methods_offset,
size_t bss_roots_offset,
size_t bss_strings_offset) = 0; virtual std::unique_ptr<ThreadPool> PrepareDebugInfo(const debug::DebugInfo& debug_info) = 0; virtual OutputStream* StartRoData() = 0; virtualvoid EndRoData(OutputStream* rodata) = 0; virtual OutputStream* StartText() = 0; virtualvoid EndText(OutputStream* text) = 0; virtual OutputStream* StartDataImgRelRo() = 0; virtualvoid EndDataImgRelRo(OutputStream* data_img_rel_ro) = 0; virtualvoid WriteDynamicSection() = 0; virtualvoid WriteDebugInfo(const debug::DebugInfo& debug_info) = 0; virtualbool StripDebugInfo() = 0; virtualbool End() = 0;
// Get the ELF writer's stream. This stream can be used for writing data directly // to a section after the section has been finished. When that's done, the user // should Seek() back to the position where the stream was before this operation. virtual OutputStream* GetStream() = 0;
// Get the size that the loaded ELF file will occupy in memory. virtual size_t GetLoadedSize() = 0;
protected:
ElfWriter() = default;
};
} // namespace linker
} // namespace art
#endif// ART_DEX2OAT_LINKER_ELF_WRITER_H_
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet am 2026-06-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.