Home | History | Annotate | Download | only in ia64

Lines Matching refs:edi

36 find_gp (struct elf_dyn_info *edi, Elf64_Phdr *pdyn, Elf64_Addr load_base)
39 Elf64_Ehdr *ehdr = edi->ei.image;
50 Elf64_Dyn *dyn = (Elf64_Dyn *) (pdyn->p_offset + (char *) edi->ei.image);
67 if (soff + ehdr->e_shnum * ehdr->e_shentsize > edi->ei.size)
71 edi->ei.size);
75 shdr = (Elf64_Shdr *) ((char *) edi->ei.image + soff);
76 str_shdr = (Elf64_Shdr *) ((char *) edi->ei.image + str_soff);
77 strtab = (char *) edi->ei.image + str_shdr->sh_offset;
83 gp = ((Elf64_Addr *) ((char *) edi->ei.image + shdr->sh_offset))[1];
90 Debug (16, "image at %p, gp = %lx\n", edi->ei.image, gp);
95 ia64_find_unwind_table (struct elf_dyn_info *edi, unw_addr_space_t as,
103 if (!_Uelf64_valid_object (&edi->ei))
106 ehdr = edi->ei.image;
107 phdr = (Elf64_Phdr *) ((char *) edi->ei.image + ehdr->e_phoff);
133 edi->di_cache.start_ip = segbase;
134 edi->di_cache.end_ip = edi->di_cache.start_ip + ptxt->p_memsz;
135 edi->di_cache.gp = find_gp (edi, pdyn, segbase - ptxt->p_vaddr);
136 edi->di_cache.format = UNW_INFO_FORMAT_TABLE;
137 edi->di_cache.u.ti.name_ptr = 0;
138 edi->di_cache.u.ti.segbase = segbase;
139 edi->di_cache.u.ti.table_len = punw->p_memsz / sizeof (unw_word_t);
140 edi->di_cache.u.ti.table_data = (unw_word_t *)
141 ((char *) edi->ei.image + (punw->p_vaddr - ptxt->p_vaddr));