• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/elftoolchain/elfcopy/

Lines Matching refs:ecp

54 add_to_inseg_list(struct elfcopy *ecp, struct section *s)
59 if (ecp->ophnum == 0)
74 STAILQ_FOREACH(seg, &ecp->v_seg, seg_list) {
103 adjust_addr(struct elfcopy *ecp)
114 TAILQ_FOREACH(s, &ecp->v_sec, sec_list) {
121 if (ecp->change_addr != 0)
122 s->vma += ecp->change_addr;
125 if (ecp->change_addr != 0 && s->seg != NULL &&
127 s->lma += ecp->change_addr;
133 TAILQ_FOREACH(s, &ecp->v_sec, sec_list) {
142 sac = lookup_sec_act(ecp, s->name, 0);
210 STAILQ_FOREACH(seg, &ecp->v_seg, seg_list) {
291 if (ecp->pad_to != 0) {
297 STAILQ_FOREACH(seg, &ecp->v_seg, seg_list) {
318 if (ecp->pad_to <= s->vma + s->sz)
321 s->pad_sz = ecp->pad_to - (s->vma + s->sz);
324 (uintmax_t) ecp->pad_to, (uintmax_t) s->pad_sz);
334 TAILQ_FOREACH(s, &ecp->v_sec, sec_list) {
348 sac = lookup_sec_act(ecp, s->name, 0);
421 if ((ecp->flags & NO_CHANGE_WARN) == 0) {
422 STAILQ_FOREACH(sac, &ecp->v_sac, sac_list) {
427 TAILQ_FOREACH(s, &ecp->v_sec, sec_list) {
469 setup_phdr(struct elfcopy *ecp)
475 if (elf_getphnum(ecp->ein, &iphnum) == 0)
479 ecp->ophnum = ecp->iphnum = iphnum;
484 if (ecp->strip == STRIP_NONDEBUG) {
485 ecp->ophnum = 0;
490 if (gelf_getphdr(ecp->ein, i, &iphdr) != &iphdr)
501 STAILQ_INSERT_TAIL(&ecp->v_seg, seg, seg_list);
506 copy_phdr(struct elfcopy *ecp)
513 STAILQ_FOREACH(seg, &ecp->v_seg, seg_list) {
515 if (!TAILQ_EMPTY(&ecp->v_sec)) {
516 s = TAILQ_FIRST(&ecp->v_sec);
519 gelf_fsize(ecp->eout, ELF_T_EHDR,
522 gelf_fsize(ecp->eout, ELF_T_EHDR,
526 seg->fsz = seg->msz = gelf_fsize(ecp->eout, ELF_T_PHDR,
527 ecp->ophnum, EV_CURRENT);
551 if (gelf_newphdr(ecp->eout, ecp->ophnum) == NULL)
560 if (elf_update(ecp->eout, ELF_C_NULL) < 0)
568 STAILQ_FOREACH(seg, &ecp->v_seg, seg_list) {
569 if (i >= ecp->iphnum)
571 if (gelf_getphdr(ecp->ein, i, &iphdr) != &iphdr)
574 if (gelf_getphdr(ecp->eout, i, &ophdr) != &ophdr)
586 if (!gelf_update_phdr(ecp->eout, i, &ophdr))