Lines Matching refs:cfi
38 #include "cfi.h"
46 Dwarf_CFI *cfi = calloc (1, sizeof *cfi);
47 if (cfi == NULL)
53 cfi->e_ident = (unsigned char *) elf_getident (elf, NULL);
54 if (cfi->e_ident == NULL)
56 free (cfi);
61 cfi->e_machine = ehdr->e_machine;
63 if ((BYTE_ORDER == LITTLE_ENDIAN && cfi->e_ident[EI_DATA] == ELFDATA2MSB)
64 || (BYTE_ORDER == BIG_ENDIAN && cfi->e_ident[EI_DATA] == ELFDATA2LSB))
65 cfi->other_byte_order = true;
67 cfi->frame_vaddr = vaddr;
68 cfi->textrel = 0; /* XXX ? */
69 cfi->datarel = 0; /* XXX ? */
71 return cfi;
177 Dwarf_CFI *cfi = allocate_cfi (elf, ehdr, eh_frame_ptr);
178 if (cfi != NULL)
180 cfi->data = (Elf_Data_Scn *) data;
184 cfi->search_table = search_table;
185 cfi->search_table_len = phdr->p_filesz;
186 cfi->search_table_vaddr = phdr->p_vaddr;
187 cfi->search_table_encoding = search_table_encoding;
188 cfi->search_table_entries = search_table_entries;
191 return cfi;
227 Dwarf_CFI *cfi = allocate_cfi (elf, ehdr, shdr->sh_addr);
228 if (cfi != NULL)
230 cfi->data = (Elf_Data_Scn *) data;
238 cfi->search_table_vaddr = hdr_vaddr;
239 cfi->search_table
242 &cfi->search_table_entries,
243 &cfi->search_table_encoding);
244 cfi->search_table_len = hdr_data->d_size;
249 cfi->search_table_encoding, NULL);
250 dmax = hdr_data->d_size - (cfi->search_table
252 if (unlikely (cfi->search_table == (void *) -1l
254 || cfi->search_table_entries > (dmax / vsize) / 2))
256 free (cfi);
264 cfi->search_table = NULL;
268 return cfi;