Lines Matching refs:elfFile

96         .elfFile = file,
136 * Checks that elfFile points to a valid elf file. Returns 0 if the elf
139 int elf_checkFile(elf_t *elfFile)
141 int res = elf32_checkFile(elfFile);
146 res = elf64_checkFile(elfFile);
154 int elf_checkProgramHeaderTable(elf_t *elfFile)
156 if (elf_isElf32(elfFile)) {
157 return elf32_checkProgramHeaderTable(elfFile);
159 return elf64_checkProgramHeaderTable(elfFile);
163 int elf_checkSectionTable(elf_t *elfFile)
165 if (elf_isElf32(elfFile)) {
166 return elf32_checkSectionTable(elfFile);
168 return elf64_checkSectionTable(elfFile);
172 uintptr_t elf_getEntryPoint(elf_t *elfFile)
174 if (elf_isElf32(elfFile)) {
175 return elf32_getEntryPoint(elfFile);
177 return elf64_getEntryPoint(elfFile);
181 size_t elf_getNumProgramHeaders(elf_t *elfFile)
183 if (elf_isElf32(elfFile)) {
184 return elf32_getNumProgramHeaders(elfFile);
186 return elf64_getNumProgramHeaders(elfFile);
190 size_t elf_getNumSections(elf_t *elfFile)
192 if (elf_isElf32(elfFile)) {
193 return elf32_getNumSections(elfFile);
195 return elf64_getNumSections(elfFile);
253 return elf->elfFile + section_offset;
256 void *elf_getSectionNamed(elf_t *elfFile, const char *str, size_t *id)
258 size_t numSections = elf_getNumSections(elfFile);
260 if (strcmp(str, elf_getSectionName(elfFile, i)) == 0) {
264 return elf_getSection(elfFile, i);
284 size_t elf_getSectionNameOffset(elf_t *elfFile, size_t i)
286 if (elf_isElf32(elfFile)) {
287 return elf32_getSectionNameOffset(elfFile, i);
289 return elf64_getSectionNameOffset(elfFile, i);
293 uint32_t elf_getSectionType(elf_t *elfFile, size_t i)
295 if (elf_isElf32(elfFile)) {
296 return elf32_getSectionType(elfFile, i);
298 return elf64_getSectionType(elfFile, i);
302 size_t elf_getSectionFlags(elf_t *elfFile, size_t i)
304 if (elf_isElf32(elfFile)) {
305 return elf32_getSectionFlags(elfFile, i);
307 return elf64_getSectionFlags(elfFile, i);
311 uintptr_t elf_getSectionAddr(elf_t *elfFile, size_t i)
313 if (elf_isElf32(elfFile)) {
314 return elf32_getSectionAddr(elfFile, i);
316 return elf64_getSectionAddr(elfFile, i);
320 size_t elf_getSectionOffset(elf_t *elfFile, size_t i)
322 if (elf_isElf32(elfFile)) {
323 return elf32_getSectionOffset(elfFile, i);
325 return elf64_getSectionOffset(elfFile, i);
329 size_t elf_getSectionSize(elf_t *elfFile, size_t i)
331 if (elf_isElf32(elfFile)) {
332 return elf32_getSectionSize(elfFile, i);
334 return elf64_getSectionSize(elfFile, i);
338 uint32_t elf_getSectionLink(elf_t *elfFile, size_t i)
340 if (elf_isElf32(elfFile)) {
341 return elf32_getSectionLink(elfFile, i);
343 return elf64_getSectionLink(elfFile, i);
347 uint32_t elf_getSectionInfo(elf_t *elfFile, size_t i)
349 if (elf_isElf32(elfFile)) {
350 return elf32_getSectionInfo(elfFile, i);
352 return elf64_getSectionInfo(elfFile, i);
356 size_t elf_getSectionAddrAlign(elf_t *elfFile, size_t i)
358 if (elf_isElf32(elfFile)) {
359 return elf32_getSectionAddrAlign(elfFile, i);
361 return elf64_getSectionAddrAlign(elfFile, i);
365 size_t elf_getSectionEntrySize(elf_t *elfFile, size_t i)
367 if (elf_isElf32(elfFile)) {
368 return elf32_getSectionEntrySize(elfFile, i);
370 return elf64_getSectionEntrySize(elfFile, i);
386 return elf->elfFile + offset;
389 uint32_t elf_getProgramHeaderType(elf_t *elfFile, size_t ph)
391 if (elf_isElf32(elfFile)) {
392 return elf32_getProgramHeaderType(elfFile, ph);
394 return elf64_getProgramHeaderType(elfFile, ph);
398 size_t elf_getProgramHeaderOffset(elf_t *elfFile, size_t ph)
400 if (elf_isElf32(elfFile)) {
401 return elf32_getProgramHeaderOffset(elfFile, ph);
403 return elf64_getProgramHeaderOffset(elfFile, ph);
407 uintptr_t elf_getProgramHeaderVaddr(elf_t *elfFile, size_t ph)
409 if (elf_isElf32(elfFile)) {
410 return elf32_getProgramHeaderVaddr(elfFile, ph);
412 return elf64_getProgramHeaderVaddr(elfFile, ph);
416 uintptr_t elf_getProgramHeaderPaddr(elf_t *elfFile, size_t ph)
418 if (elf_isElf32(elfFile)) {
419 return elf32_getProgramHeaderPaddr(elfFile, ph);
421 return elf64_getProgramHeaderPaddr(elfFile, ph);
425 size_t elf_getProgramHeaderFileSize(elf_t *elfFile, size_t ph)
427 if (elf_isElf32(elfFile)) {
428 return elf32_getProgramHeaderFileSize(elfFile, ph);
430 return elf64_getProgramHeaderFileSize(elfFile, ph);
434 size_t elf_getProgramHeaderMemorySize(elf_t *elfFile, size_t ph)
436 if (elf_isElf32(elfFile)) {
437 return elf32_getProgramHeaderMemorySize(elfFile, ph);
439 return elf64_getProgramHeaderMemorySize(elfFile, ph);
443 uint32_t elf_getProgramHeaderFlags(elf_t *elfFile, size_t ph)
445 if (elf_isElf32(elfFile)) {
446 return elf32_getProgramHeaderFlags(elfFile, ph);
448 return elf64_getProgramHeaderFlags(elfFile, ph);
452 size_t elf_getProgramHeaderAlign(elf_t *elfFile, size_t ph)
454 if (elf_isElf32(elfFile)) {
455 return elf32_getProgramHeaderAlign(elfFile, ph);
457 return elf64_getProgramHeaderAlign(elfFile, ph);
463 int elf_getMemoryBounds(elf_t *elfFile, elf_addr_type_t addr_type, uintptr_t *min, uintptr_t *max)
469 for (i = 0; i < elf_getNumProgramHeaders(elfFile); i++) {
472 if (elf_getProgramHeaderMemorySize(elfFile, i) == 0) {
477 sect_min = elf_getProgramHeaderPaddr(elfFile, i);
479 sect_min = elf_getProgramHeaderVaddr(elfFile, i);
482 sect_max = sect_min + elf_getProgramHeaderMemorySize(elfFile, i);
497 int elf_vaddrInProgramHeader(elf_t *elfFile, size_t ph, uintptr_t vaddr)
499 uintptr_t min = elf_getProgramHeaderVaddr(elfFile, ph);
500 uintptr_t max = min + elf_getProgramHeaderMemorySize(elfFile, ph);
508 uintptr_t elf_vtopProgramHeader(elf_t *elfFile, size_t ph, uintptr_t vaddr)
510 uintptr_t ph_phys = elf_getProgramHeaderPaddr(elfFile, ph);
511 uintptr_t ph_virt = elf_getProgramHeaderVaddr(elfFile, ph);
533 src = (uintptr_t) elf->elfFile + elf_getProgramHeaderOffset(elf, i);