Lines Matching full:pinput
62 bool ELFObjectReader::isMyFormat(Input& pInput, bool& pContinue) const {
63 assert(pInput.hasMemArea());
68 if (pInput.memArea()->size() < hdr_size)
72 pInput.memArea()->request(pInput.fileOffset(), hdr_size);
93 bool ELFObjectReader::readHeader(Input& pInput) {
94 assert(pInput.hasMemArea());
97 if (pInput.memArea()->size() < hdr_size)
101 pInput.memArea()->request(pInput.fileOffset(), hdr_size);
103 m_Backend.mergeFlags(pInput, ELF_hdr);
104 bool result = m_pELFReader->readSectionHeaders(pInput, ELF_hdr);
109 bool ELFObjectReader::readSections(Input& pInput) {
111 LDContext::sect_iterator section, sectEnd = pInput.context()->sectEnd();
112 for (section = pInput.context()->sectBegin(); section != sectEnd; ++section) {
122 pInput, *(*section)->getLink(), (*section)->getInfo());
137 llvm::StringRef region = pInput.memArea()->request(
138 pInput.fileOffset() + (*section)->offset(), (*section)->size());
145 pInput.context()->getSection(value[index])->setKind(
167 if (!m_pELFReader->readRegularSection(pInput, *sd))
176 if (!m_pELFReader->readRegularSection(pInput, *sd))
188 LDSection* link_sect = pInput.context()->getSection(link_index);
208 if (!m_pELFReader->readRegularSection(pInput, *sd))
218 if (!m_pELFReader->readRegularSection(pInput, *sd)) {
230 if (!m_pEhFrameReader->read<32, true>(pInput, *eh_frame)) {
236 if (!m_pELFReader->readRegularSection(pInput,
246 if (!m_Backend.readSection(pInput, *sd)) {
266 << (*section)->name() << pInput.name() << pInput.path();
276 bool ELFObjectReader::readSymbols(Input& pInput) {
277 assert(pInput.hasMemArea());
279 LDSection* symtab_shdr = pInput.context()->getSection(".symtab");
281 note(diag::note_has_no_symtab) << pInput.name() << pInput.path()
288 fatal(diag::fatal_cannot_read_strtab) << pInput.name() << pInput.path()
293 llvm::StringRef symtab_region = pInput.memArea()->request(
294 pInput.fileOffset() + symtab_shdr->offset(), symtab_shdr->size());
295 llvm::StringRef strtab_region = pInput.memArea()->request(
296 pInput.fileOffset() + strtab_shdr->offset(), strtab_shdr->size());
299 m_pELFReader->readSymbols(pInput, m_Builder, symtab_region, strtab);
303 bool ELFObjectReader::readRelocations(Input& pInput) {
304 assert(pInput.hasMemArea());
306 MemoryArea* mem = pInput.memArea();
307 LDContext::sect_iterator rs, rsEnd = pInput.context()->relocSectEnd();
308 for (rs = pInput.context()->relocSectBegin(); rs != rsEnd; ++rs) {
312 uint32_t offset = pInput.fileOffset() + (*rs)->offset();
319 if (!m_pELFReader->readRela(pInput, **rs, region)) {
325 if (!m_pELFReader->readRel(pInput, **rs, region)) {