Lines Matching refs:mfp

301 load_macho_header32(dwarf_macho_object_access_internals_t *mfp, int *errcode)  in load_macho_header32()  argument
306 if (sizeof(mh32) > mfp->mo_filesize) { in load_macho_header32()
310 res = RRMOA(mfp->mo_fd, &mh32, 0, sizeof(mh32), in load_macho_header32()
311 (off_t)mfp->mo_filesize, errcode); in load_macho_header32()
316 ASNAR(memcpy,mfp->mo_header.magic,mh32.magic); in load_macho_header32()
317 ASNAR(mfp->mo_copy_word,mfp->mo_header.cputype,mh32.cputype); in load_macho_header32()
318 ASNAR(mfp->mo_copy_word,mfp->mo_header.cpusubtype,mh32.cpusubtype); in load_macho_header32()
319 ASNAR(mfp->mo_copy_word,mfp->mo_header.filetype,mh32.filetype); in load_macho_header32()
320 ASNAR(mfp->mo_copy_word,mfp->mo_header.ncmds,mh32.ncmds); in load_macho_header32()
321 ASNAR(mfp->mo_copy_word,mfp->mo_header.sizeofcmds,mh32.sizeofcmds); in load_macho_header32()
322 ASNAR(mfp->mo_copy_word,mfp->mo_header.flags,mh32.flags); in load_macho_header32()
323 mfp->mo_header.reserved = 0; in load_macho_header32()
324 mfp->mo_command_count = (unsigned int)mfp->mo_header.ncmds; in load_macho_header32()
325 mfp->mo_command_start_offset = sizeof(mh32); in load_macho_header32()
331 load_macho_header64(dwarf_macho_object_access_internals_t *mfp, in load_macho_header64() argument
337 if (sizeof(mh64) > mfp->mo_filesize) { in load_macho_header64()
341 res = RRMOA(mfp->mo_fd, &mh64, 0, sizeof(mh64), in load_macho_header64()
342 (off_t)mfp->mo_filesize, errcode); in load_macho_header64()
347 ASNAR(memcpy,mfp->mo_header.magic,mh64.magic); in load_macho_header64()
348 ASNAR(mfp->mo_copy_word,mfp->mo_header.cputype,mh64.cputype); in load_macho_header64()
349 ASNAR(mfp->mo_copy_word,mfp->mo_header.cpusubtype,mh64.cpusubtype); in load_macho_header64()
350 ASNAR(mfp->mo_copy_word,mfp->mo_header.filetype,mh64.filetype); in load_macho_header64()
351 ASNAR(mfp->mo_copy_word,mfp->mo_header.ncmds,mh64.ncmds); in load_macho_header64()
352 ASNAR(mfp->mo_copy_word,mfp->mo_header.sizeofcmds,mh64.sizeofcmds); in load_macho_header64()
353 ASNAR(mfp->mo_copy_word,mfp->mo_header.flags,mh64.flags); in load_macho_header64()
354 ASNAR(mfp->mo_copy_word,mfp->mo_header.reserved,mh64.reserved); in load_macho_header64()
355 mfp->mo_command_count = (unsigned int)mfp->mo_header.ncmds; in load_macho_header64()
356 mfp->mo_command_start_offset = sizeof(mh64); in load_macho_header64()
361 dwarf_load_macho_header(dwarf_macho_object_access_internals_t *mfp, in dwarf_load_macho_header() argument
366 if (mfp->mo_offsetsize == 32) { in dwarf_load_macho_header()
367 res = load_macho_header32(mfp,errcode); in dwarf_load_macho_header()
368 } else if (mfp->mo_offsetsize == 64) { in dwarf_load_macho_header()
369 res = load_macho_header64(mfp,errcode); in dwarf_load_macho_header()
380 dwarf_macho_object_access_internals_t *mfp, in load_segment_command_content32() argument
388 Dwarf_Unsigned filesize = mfp->mo_filesize; in load_segment_command_content32()
398 res = RRMOA(mfp->mo_fd, &sc, (off_t)mmp->offset_this_command, sizeof(sc), in load_segment_command_content32()
403 ASNAR(mfp->mo_copy_word,msp->cmd,sc.cmd); in load_segment_command_content32()
404 ASNAR(mfp->mo_copy_word,msp->cmdsize,sc.cmdsize); in load_segment_command_content32()
407 ASNAR(mfp->mo_copy_word,msp->vmaddr,sc.vmaddr); in load_segment_command_content32()
408 ASNAR(mfp->mo_copy_word,msp->vmsize,sc.vmsize); in load_segment_command_content32()
409 ASNAR(mfp->mo_copy_word,msp->fileoff,sc.fileoff); in load_segment_command_content32()
410 ASNAR(mfp->mo_copy_word,msp->filesize,sc.filesize); in load_segment_command_content32()
411 if (msp->fileoff > mfp->mo_filesize || in load_segment_command_content32()
412 msp->filesize > mfp->mo_filesize) { in load_segment_command_content32()
422 ASNAR(mfp->mo_copy_word,msp->maxprot,sc.maxprot); in load_segment_command_content32()
423 ASNAR(mfp->mo_copy_word,msp->initprot,sc.initprot); in load_segment_command_content32()
424 ASNAR(mfp->mo_copy_word,msp->nsects,sc.nsects); in load_segment_command_content32()
425 ASNAR(mfp->mo_copy_word,msp->flags,sc.flags); in load_segment_command_content32()
432 dwarf_macho_object_access_internals_t *mfp, in load_segment_command_content64() argument
439 Dwarf_Unsigned filesize = mfp->mo_filesize; in load_segment_command_content64()
449 res = RRMOA(mfp->mo_fd, &sc, (off_t)mmp->offset_this_command, sizeof(sc), in load_segment_command_content64()
454 ASNAR(mfp->mo_copy_word,msp->cmd,sc.cmd); in load_segment_command_content64()
455 ASNAR(mfp->mo_copy_word,msp->cmdsize,sc.cmdsize); in load_segment_command_content64()
458 ASNAR(mfp->mo_copy_word,msp->vmaddr,sc.vmaddr); in load_segment_command_content64()
459 ASNAR(mfp->mo_copy_word,msp->vmsize,sc.vmsize); in load_segment_command_content64()
460 ASNAR(mfp->mo_copy_word,msp->fileoff,sc.fileoff); in load_segment_command_content64()
461 ASNAR(mfp->mo_copy_word,msp->filesize,sc.filesize); in load_segment_command_content64()
473 ASNAR(mfp->mo_copy_word,msp->maxprot,sc.maxprot); in load_segment_command_content64()
474 ASNAR(mfp->mo_copy_word,msp->initprot,sc.initprot); in load_segment_command_content64()
475 ASNAR(mfp->mo_copy_word,msp->nsects,sc.nsects); in load_segment_command_content64()
476 ASNAR(mfp->mo_copy_word,msp->flags,sc.flags); in load_segment_command_content64()
484 dwarf_macho_object_access_internals_t *mfp,int *errcode) in dwarf_macho_load_segment_commands() argument
490 if (mfp->mo_segment_count < 1) { in dwarf_macho_load_segment_commands()
493 mfp->mo_segment_commands = in dwarf_macho_load_segment_commands()
496 (size_t)mfp->mo_segment_count); in dwarf_macho_load_segment_commands()
497 if (!mfp->mo_segment_commands) { in dwarf_macho_load_segment_commands()
502 mmp = mfp->mo_commands; in dwarf_macho_load_segment_commands()
503 msp = mfp->mo_segment_commands; in dwarf_macho_load_segment_commands()
504 for (i = 0 ; i < mfp->mo_command_count; ++i,++mmp) { in dwarf_macho_load_segment_commands()
509 res = load_segment_command_content32(mfp,mmp,msp,i,errcode); in dwarf_macho_load_segment_commands()
512 res = load_segment_command_content64(mfp,mmp,msp,i,errcode); in dwarf_macho_load_segment_commands()
524 dwarf_macho_object_access_internals_t *mfp, in dwarf_macho_load_dwarf_section_details32() argument
543 mfp->mo_dwarf_sections = secs; in dwarf_macho_load_dwarf_section_details32()
544 mfp->mo_dwarf_sectioncount = secalloc; in dwarf_macho_load_dwarf_section_details32()
545 if ((curoff > mfp->mo_filesize) || in dwarf_macho_load_dwarf_section_details32()
546 (seccount > mfp->mo_filesize) || in dwarf_macho_load_dwarf_section_details32()
548 mfp->mo_filesize)) { in dwarf_macho_load_dwarf_section_details32()
562 res = RRMOA(mfp->mo_fd, &mosec, (off_t)curoff, sizeof(mosec), in dwarf_macho_load_dwarf_section_details32()
563 (off_t)mfp->mo_filesize, errcode); in dwarf_macho_load_dwarf_section_details32()
571 ASNAR(mfp->mo_copy_word,secs->addr,mosec.addr); in dwarf_macho_load_dwarf_section_details32()
572 ASNAR(mfp->mo_copy_word,secs->size,mosec.size); in dwarf_macho_load_dwarf_section_details32()
573 ASNAR(mfp->mo_copy_word,secs->offset,mosec.offset); in dwarf_macho_load_dwarf_section_details32()
574 ASNAR(mfp->mo_copy_word,secs->align,mosec.align); in dwarf_macho_load_dwarf_section_details32()
575 ASNAR(mfp->mo_copy_word,secs->reloff,mosec.reloff); in dwarf_macho_load_dwarf_section_details32()
576 ASNAR(mfp->mo_copy_word,secs->nreloc,mosec.nreloc); in dwarf_macho_load_dwarf_section_details32()
577 ASNAR(mfp->mo_copy_word,secs->flags,mosec.flags); in dwarf_macho_load_dwarf_section_details32()
578 if (secs->offset > mfp->mo_filesize || in dwarf_macho_load_dwarf_section_details32()
579 secs->size > mfp->mo_filesize || in dwarf_macho_load_dwarf_section_details32()
580 (secs->offset+secs->size) > mfp->mo_filesize) { in dwarf_macho_load_dwarf_section_details32()
594 dwarf_macho_object_access_internals_t *mfp, in dwarf_macho_load_dwarf_section_details64() argument
613 mfp->mo_dwarf_sections = secs; in dwarf_macho_load_dwarf_section_details64()
614 mfp->mo_dwarf_sectioncount = secalloc; in dwarf_macho_load_dwarf_section_details64()
620 if ((curoff > mfp->mo_filesize) || in dwarf_macho_load_dwarf_section_details64()
621 (seccount > mfp->mo_filesize) || in dwarf_macho_load_dwarf_section_details64()
623 mfp->mo_filesize)) { in dwarf_macho_load_dwarf_section_details64()
632 res = RRMOA(mfp->mo_fd, &mosec, (off_t)curoff, sizeof(mosec), in dwarf_macho_load_dwarf_section_details64()
633 (off_t)mfp->mo_filesize, errcode); in dwarf_macho_load_dwarf_section_details64()
641 ASNAR(mfp->mo_copy_word,secs->addr,mosec.addr); in dwarf_macho_load_dwarf_section_details64()
642 ASNAR(mfp->mo_copy_word,secs->size,mosec.size); in dwarf_macho_load_dwarf_section_details64()
643 ASNAR(mfp->mo_copy_word,secs->offset,mosec.offset); in dwarf_macho_load_dwarf_section_details64()
644 ASNAR(mfp->mo_copy_word,secs->align,mosec.align); in dwarf_macho_load_dwarf_section_details64()
645 ASNAR(mfp->mo_copy_word,secs->reloff,mosec.reloff); in dwarf_macho_load_dwarf_section_details64()
646 ASNAR(mfp->mo_copy_word,secs->nreloc,mosec.nreloc); in dwarf_macho_load_dwarf_section_details64()
647 ASNAR(mfp->mo_copy_word,secs->flags,mosec.flags); in dwarf_macho_load_dwarf_section_details64()
648 if (secs->offset > mfp->mo_filesize || in dwarf_macho_load_dwarf_section_details64()
649 secs->size > mfp->mo_filesize || in dwarf_macho_load_dwarf_section_details64()
650 (secs->offset+secs->size) > mfp->mo_filesize) { in dwarf_macho_load_dwarf_section_details64()
665 dwarf_macho_object_access_internals_t *mfp, in dwarf_macho_load_dwarf_section_details() argument
671 if (mfp->mo_offsetsize == 32) { in dwarf_macho_load_dwarf_section_details()
672 res = dwarf_macho_load_dwarf_section_details32(mfp, in dwarf_macho_load_dwarf_section_details()
674 } else if (mfp->mo_offsetsize == 64) { in dwarf_macho_load_dwarf_section_details()
675 res = dwarf_macho_load_dwarf_section_details64(mfp, in dwarf_macho_load_dwarf_section_details()
686 dwarf_macho_object_access_internals_t *mfp,int *errcode) in dwarf_macho_load_dwarf_sections() argument
691 mfp->mo_segment_commands; in dwarf_macho_load_dwarf_sections()
692 for ( ; segi < mfp->mo_segment_count; ++segi,++segp) { in dwarf_macho_load_dwarf_sections()
699 res = dwarf_macho_load_dwarf_section_details(mfp,segp,segi,errcode); in dwarf_macho_load_dwarf_sections()
708 dwarf_macho_object_access_internals_t *mfp,int *errcode) in dwarf_load_macho_commands() argument
711 Dwarf_Unsigned curoff = mfp->mo_command_start_offset; in dwarf_load_macho_commands()
718 if (mfp->mo_command_count >= mfp->mo_filesize) { in dwarf_load_macho_commands()
723 if ((curoff + mfp->mo_command_count * sizeof(mc)) >= in dwarf_load_macho_commands()
724 mfp->mo_filesize) { in dwarf_load_macho_commands()
730 mfp->mo_commands = (struct generic_macho_command *) calloc( in dwarf_load_macho_commands()
731 mfp->mo_command_count,sizeof(struct generic_macho_command)); in dwarf_load_macho_commands()
732 if( !mfp->mo_commands) { in dwarf_load_macho_commands()
737 mcp = mfp->mo_commands; in dwarf_load_macho_commands()
738 for ( ; cmdi < mfp->mo_header.ncmds; ++cmdi,++mcp ) { in dwarf_load_macho_commands()
739 res = RRMOA(mfp->mo_fd, &mc, (off_t)curoff, sizeof(mc), in dwarf_load_macho_commands()
740 (off_t)mfp->mo_filesize, errcode); in dwarf_load_macho_commands()
744 ASNAR(mfp->mo_copy_word,mcp->cmd,mc.cmd); in dwarf_load_macho_commands()
745 ASNAR(mfp->mo_copy_word,mcp->cmdsize,mc.cmdsize); in dwarf_load_macho_commands()
749 if (mcp->cmdsize > mfp->mo_filesize || in dwarf_load_macho_commands()
750 curoff > mfp->mo_filesize) { in dwarf_load_macho_commands()
759 mfp->mo_segment_count = segment_command_count; in dwarf_load_macho_commands()
760 res = dwarf_macho_load_segment_commands(mfp,errcode); in dwarf_load_macho_commands()
764 res = dwarf_macho_load_dwarf_sections(mfp,errcode); in dwarf_load_macho_commands()