Lines Matching defs:shdr

55 	Elf_Shdr	shdr;
163 Elf_Shdr shdr;
168 if (fread(&shdr, sizeof(shdr), 1, fp) != 1)
172 shnum = elf_xword_to_cpu(shdr.sh_size);
175 shstrndx = elf_word_to_cpu(shdr.sh_link);
184 Elf_Shdr shdr;
197 if (fread(&shdr, sizeof(shdr), 1, fp) != 1) {
202 sec->shdr.sh_name = elf_word_to_cpu(shdr.sh_name);
203 sec->shdr.sh_type = elf_word_to_cpu(shdr.sh_type);
204 sec->shdr.sh_flags = elf_xword_to_cpu(shdr.sh_flags);
205 sec->shdr.sh_addr = elf_addr_to_cpu(shdr.sh_addr);
206 sec->shdr.sh_offset = elf_off_to_cpu(shdr.sh_offset);
207 sec->shdr.sh_size = elf_xword_to_cpu(shdr.sh_size);
208 sec->shdr.sh_link = elf_word_to_cpu(shdr.sh_link);
209 sec->shdr.sh_info = elf_word_to_cpu(shdr.sh_info);
210 sec->shdr.sh_addralign = elf_xword_to_cpu(shdr.sh_addralign);
211 sec->shdr.sh_entsize = elf_xword_to_cpu(shdr.sh_entsize);
213 if (sec->shdr.sh_link < shnum)
214 sec->link = &secs[sec->shdr.sh_link];
226 if (sec->shdr.sh_type != SHT_REL_TYPE)
229 sec->reltab = malloc(sec->shdr.sh_size);
231 die("malloc of %" FMT " bytes for relocs failed\n", sec->shdr.sh_size);
233 if (fseek(fp, sec->shdr.sh_offset, SEEK_SET) < 0)
234 die("Seek to %" FMT " failed: %s\n", sec->shdr.sh_offset, strerror(errno));
236 if (fread(sec->reltab, 1, sec->shdr.sh_size, fp) != sec->shdr.sh_size)
239 for (j = 0; j < sec->shdr.sh_size / sizeof(Elf_Rel); j++) {
303 if (sec->shdr.sh_type != SHT_REL_TYPE)
306 sec_applies = &secs[sec->shdr.sh_info];
307 if (!(sec_applies->shdr.sh_flags & SHF_ALLOC))
310 for (j = 0; j < sec->shdr.sh_size / sizeof(Elf_Rel); j++) {