Lines Matching defs:phdr
220 GElf_Phdr phdr;
224 gelf_getphdr(elf, i, &phdr);
226 if (phdr.p_offset <= e_phoff &&
227 phdr.p_offset + phdr.p_filesz > e_phoff) {
229 phdr.p_paddr + (e_phoff - phdr.p_offset);
237 GElf_Phdr phdr;
238 M5_VAR_USED void *check_p = gelf_getphdr(elf, i, &phdr);
241 if (phdr.p_type != PT_INTERP)
244 char *interp_path = (char*)data + phdr.p_offset;
339 GElf_Phdr phdr;
340 if (gelf_getphdr(elf, i, &phdr) == 0) {
345 if (!(phdr.p_type & PT_LOAD))
348 ldMin = std::min(ldMin, phdr.p_vaddr);
349 ldMax = std::max(ldMax, phdr.p_vaddr + phdr.p_memsz);
352 if (phdr.p_paddr <= bss_sec_start &&
353 phdr.p_paddr + phdr.p_memsz > bss_sec_start &&
354 phdr.p_memsz - phdr.p_filesz > 0) {
355 bss.baseAddr = phdr.p_paddr + phdr.p_filesz;
356 bss.size = phdr.p_memsz - phdr.p_filesz;
361 if (phdr.p_vaddr <= text_sec_start &&
362 phdr.p_vaddr + phdr.p_filesz > text_sec_start) {
365 if (phdr.p_vaddr != 0)
368 text.baseAddr = phdr.p_paddr;
369 text.size = phdr.p_filesz;
370 text.fileImage = fileData + phdr.p_offset;
371 } else if (phdr.p_vaddr <= data_sec_start &&
372 phdr.p_vaddr + phdr.p_filesz > data_sec_start) {
373 data.baseAddr = phdr.p_paddr;
374 data.size = phdr.p_filesz;
375 data.fileImage = fileData + phdr.p_offset;
380 extra.baseAddr = phdr.p_paddr;
381 extra.size = phdr.p_filesz;
382 extra.fileImage = fileData + phdr.p_offset;