Lines Matching refs:elf
156 _elf_upd_lib(Elf * elf) in _elf_upd_lib() argument
158 NOTE(ASSUMING_PROTECTED(*elf)) in _elf_upd_lib()
163 Ehdr * eh = elf->ed_ehdr; in _elf_upd_lib()
202 if ((s = elf->ed_hdscn) == 0) { in _elf_upd_lib()
230 if ((sz = (Lword)_elf_entsz(elf, sh->sh_type, ver)) != 0) in _elf_upd_lib()
318 sh = (Shdr *)elf->ed_hdscn->s_shdr; in _elf_upd_lib()
341 _elf_upd_usr(Elf * elf) in _elf_upd_usr() argument
343 NOTE(ASSUMING_PROTECTED(*elf)) in _elf_upd_usr()
347 Ehdr * eh = elf->ed_ehdr; in _elf_upd_usr()
387 if ((s = elf->ed_hdscn) == 0) { in _elf_upd_usr()
435 sh = (Shdr *)elf->ed_hdscn->s_shdr; in _elf_upd_usr()
456 wrt(Elf * elf, Xword outsz, unsigned fill, int update_cmd) in wrt() argument
458 NOTE(ASSUMING_PROTECTED(*elf)) in wrt()
464 Ehdr *eh = elf->ed_ehdr; in wrt()
501 if ((elf->ed_myflags & EDF_READ) && in wrt()
502 (_elf_vm(elf, (size_t)0, elf->ed_fsz) != OK_YES)) in wrt()
505 flag = elf->ed_myflags & EDF_WRALLOC; in wrt()
506 if ((image = _elf_outmap(elf->ed_fd, outsz, &flag)) == 0) in wrt()
510 elf->ed_myflags |= EDF_IMALLOC; in wrt()
542 elf->ed_ehflags &= ~ELF_F_DIRTY; in wrt()
557 src.d_buf = (Elf_Void *)elf->ed_phdr; in wrt()
559 src.d_size = elf->ed_phdrsz; in wrt()
566 elf->ed_uflags |= ELF_F_DIRTY; in wrt()
569 elf->ed_phflags &= ~ELF_F_DIRTY; in wrt()
579 for (s = elf->ed_hdscn; s != 0; s = s->s_next) { in wrt()
642 elf->ed_uflags |= ELF_F_DIRTY; in wrt()
656 elf->ed_uflags |= ELF_F_DIRTY; in wrt()
678 for (s = elf->ed_hdscn; s != 0; s = s->s_next) { in wrt()
685 elf->ed_uflags |= ELF_F_DIRTY; in wrt()
700 elf->ed_uflags &= ~ELF_F_DIRTY; in wrt()
701 elf->ed_wrimage = image; in wrt()
702 elf->ed_wrimagesz = outsz; in wrt()
706 if (_elf_outsync(elf->ed_fd, image, outsz, in wrt()
707 ((elf->ed_myflags & EDF_IMALLOC) ? 0 : 1)) != 0) { in wrt()
708 elf->ed_uflags &= ~ELF_F_DIRTY; in wrt()
709 elf->ed_myflags &= ~EDF_IMALLOC; in wrt()
713 elf->ed_uflags |= ELF_F_DIRTY; in wrt()
743 _elfxx_update(Elf * elf, Elf_Cmd cmd) in _elfxx_update() argument
747 Ehdr *eh = elf->ed_ehdr; in _elfxx_update()
749 if (elf == 0) in _elfxx_update()
752 ELFWLOCK(elf) in _elfxx_update()
756 ELFUNLOCK(elf) in _elfxx_update()
760 if ((elf->ed_myflags & EDF_WRITE) == 0) { in _elfxx_update()
762 ELFUNLOCK(elf) in _elfxx_update()
767 if ((elf->ed_myflags & EDF_WRITE) == 0) { in _elfxx_update()
769 ELFUNLOCK(elf) in _elfxx_update()
772 if (elf->ed_wrimage) { in _elfxx_update()
773 if (elf->ed_myflags & EDF_WRALLOC) { in _elfxx_update()
774 free(elf->ed_wrimage); in _elfxx_update()
781 sz = elf->ed_wrimagesz; in _elfxx_update()
782 elf->ed_wrimage = 0; in _elfxx_update()
783 elf->ed_wrimagesz = 0; in _elfxx_update()
784 ELFUNLOCK(elf); in _elfxx_update()
787 sz = _elf_outsync(elf->ed_fd, elf->ed_wrimage, in _elfxx_update()
788 elf->ed_wrimagesz, in _elfxx_update()
789 (elf->ed_myflags & EDF_IMALLOC ? 0 : 1)); in _elfxx_update()
790 elf->ed_myflags &= ~EDF_IMALLOC; in _elfxx_update()
791 elf->ed_wrimage = 0; in _elfxx_update()
792 elf->ed_wrimagesz = 0; in _elfxx_update()
793 ELFUNLOCK(elf); in _elfxx_update()
803 ELFUNLOCK(elf) in _elfxx_update()
809 ELFUNLOCK(elf) in _elfxx_update()
822 ELFUNLOCK(elf) in _elfxx_update()
830 if (elf->ed_uflags & ELF_F_LAYOUT) { in _elfxx_update()
831 sz = _elf_upd_usr(elf); in _elfxx_update()
834 sz = _elf_upd_lib(elf); in _elfxx_update()
837 sz = wrt(elf, (Xword)sz, u, cmd); in _elfxx_update()
840 ELFUNLOCK(elf) in _elfxx_update()
844 ELFUNLOCK(elf) in _elfxx_update()
858 _elfxx_swap_wrimage(Elf *elf) in _elfxx_swap_wrimage() argument
871 ELFWLOCK(elf); in _elfxx_swap_wrimage()
872 eh = elf->ed_ehdr; in _elfxx_swap_wrimage()
882 ELFUNLOCK(elf); in _elfxx_swap_wrimage()
897 src.d_buf = dst.d_buf = (Elf_Void *)elf->ed_phdr; in _elfxx_swap_wrimage()
899 src.d_size = dst.d_size = elf->ed_phdrsz; in _elfxx_swap_wrimage()
903 ELFUNLOCK(elf); in _elfxx_swap_wrimage()
912 for (s = elf->ed_hdscn; s != 0; s = s->s_next) { in _elfxx_swap_wrimage()
927 ELFUNLOCK(elf); in _elfxx_swap_wrimage()
935 ELFUNLOCK(elf); in _elfxx_swap_wrimage()
947 for (s = elf->ed_hdscn; s != 0; s = s->s_next) { in _elfxx_swap_wrimage()
951 ELFUNLOCK(elf); in _elfxx_swap_wrimage()
956 ELFUNLOCK(elf); in _elfxx_swap_wrimage()
966 elf_update(Elf *elf, Elf_Cmd cmd) in elf_update() argument
968 if (elf == 0) in elf_update()
971 if (elf->ed_class == ELFCLASS32) in elf_update()
972 return (_elf32_update(elf, cmd)); in elf_update()
973 else if (elf->ed_class == ELFCLASS64) { in elf_update()
974 return (_elf64_update(elf, cmd)); in elf_update()
982 _elf_swap_wrimage(Elf *elf) in _elf_swap_wrimage() argument
984 if (elf == 0) in _elf_swap_wrimage()
987 if (elf->ed_class == ELFCLASS32) in _elf_swap_wrimage()
988 return (_elf32_swap_wrimage(elf)); in _elf_swap_wrimage()
990 if (elf->ed_class == ELFCLASS64) in _elf_swap_wrimage()
991 return (_elf64_swap_wrimage(elf)); in _elf_swap_wrimage()