Lines Matching refs:shdr
191 Elf64_Shdr *shdr = NULL, *shdr_next = NULL; in rk_dump_elf64_image_phdr() local
228 if (ehdr->e_shentsize != sizeof(*shdr)) { in rk_dump_elf64_image_phdr()
230 ehdr->e_shentsize = sizeof(*shdr); in rk_dump_elf64_image_phdr()
237 phdr_off = sizeof(*ehdr) + (sizeof(*shdr) * MAX_NUM_ENTRIES); in rk_dump_elf64_image_phdr()
251 shdr = (Elf64_Shdr *)(ehaddr + ehdr->e_shoff); in rk_dump_elf64_image_phdr()
253 shdr->sh_name = 0; in rk_dump_elf64_image_phdr()
254 shdr->sh_type = 0; in rk_dump_elf64_image_phdr()
255 shdr->sh_flags = 0; in rk_dump_elf64_image_phdr()
256 shdr->sh_addr = 0; in rk_dump_elf64_image_phdr()
257 shdr->sh_offset = 0; in rk_dump_elf64_image_phdr()
258 shdr->sh_size = 0; in rk_dump_elf64_image_phdr()
259 shdr->sh_link = 0; in rk_dump_elf64_image_phdr()
260 shdr->sh_info = 0; in rk_dump_elf64_image_phdr()
261 shdr->sh_addralign = 0; in rk_dump_elf64_image_phdr()
262 shdr->sh_entsize = 0; in rk_dump_elf64_image_phdr()
264 shdr++; in rk_dump_elf64_image_phdr()
265 if (shdr->sh_name >= MAX_STRTBL_SIZE) in rk_dump_elf64_image_phdr()
266 shdr->sh_name = 0; in rk_dump_elf64_image_phdr()
267 shdr->sh_type = SHT_STRTAB; in rk_dump_elf64_image_phdr()
268 shdr->sh_flags = 0; in rk_dump_elf64_image_phdr()
269 shdr->sh_addr = 0; in rk_dump_elf64_image_phdr()
270 shdr->sh_offset = phdr_off + (sizeof(*phdr) * MAX_NUM_ENTRIES); in rk_dump_elf64_image_phdr()
271 shdr->sh_size = MAX_STRTBL_SIZE; in rk_dump_elf64_image_phdr()
272 shdr->sh_link = 0; in rk_dump_elf64_image_phdr()
273 shdr->sh_info = 0; in rk_dump_elf64_image_phdr()
274 shdr->sh_addralign = 0; in rk_dump_elf64_image_phdr()
275 shdr->sh_entsize = 0; in rk_dump_elf64_image_phdr()
277 shdr++; in rk_dump_elf64_image_phdr()
279 if (shdr->sh_name >= MAX_STRTBL_SIZE) in rk_dump_elf64_image_phdr()
280 shdr->sh_name = 0; in rk_dump_elf64_image_phdr()
281 shdr->sh_type = SHT_PROGBITS; in rk_dump_elf64_image_phdr()
282 shdr->sh_flags = 0; in rk_dump_elf64_image_phdr()
283 shdr->sh_offset = 0; in rk_dump_elf64_image_phdr()
284 shdr->sh_size = 0; in rk_dump_elf64_image_phdr()
285 shdr->sh_link = 0; in rk_dump_elf64_image_phdr()
286 shdr->sh_info = 0; in rk_dump_elf64_image_phdr()
287 shdr->sh_addralign = 0; in rk_dump_elf64_image_phdr()
288 shdr->sh_entsize = 0; in rk_dump_elf64_image_phdr()
290 shdr++; in rk_dump_elf64_image_phdr()
291 shdr->sh_flags = 0; in rk_dump_elf64_image_phdr()
292 shdr->sh_link = 0; in rk_dump_elf64_image_phdr()
293 shdr->sh_info = 0; in rk_dump_elf64_image_phdr()
294 shdr->sh_addralign = 0; in rk_dump_elf64_image_phdr()
295 shdr->sh_entsize = 0; in rk_dump_elf64_image_phdr()
302 if (shdr->sh_offset != strtbl_off) in rk_dump_elf64_image_phdr()
303 shdr->sh_offset = strtbl_off; in rk_dump_elf64_image_phdr()
307 shdr->sh_size &= GENMASK(23, 0); /* 16MB */ in rk_dump_elf64_image_phdr()
311 shdr->sh_size = size; in rk_dump_elf64_image_phdr()
312 } else if (phdr->p_filesz == shdr->sh_size) { in rk_dump_elf64_image_phdr()
315 } else if (phdr->p_memsz == shdr->sh_size) { in rk_dump_elf64_image_phdr()
320 phdr->p_filesz, phdr->p_memsz, shdr->sh_size); in rk_dump_elf64_image_phdr()
325 shdr++; in rk_dump_elf64_image_phdr()
327 shdr_next = shdr + 1; in rk_dump_elf64_image_phdr()
332 shdr->sh_offset &= MAX_ELF_SIZE - 1; in rk_dump_elf64_image_phdr()
334 if (phdr->p_offset == shdr->sh_offset) { in rk_dump_elf64_image_phdr()
337 shdr->sh_offset = phdr->p_offset; in rk_dump_elf64_image_phdr()
338 } else if (elf_size == shdr->sh_offset) { in rk_dump_elf64_image_phdr()
339 phdr->p_offset = shdr->sh_offset; in rk_dump_elf64_image_phdr()
342 phdr->p_offset, shdr->sh_offset, elf_size); in rk_dump_elf64_image_phdr()
351 if (phdr->p_vaddr == 0 || shdr->sh_addr == 0) in rk_dump_elf64_image_phdr()
355 shdr->sh_offset &= MAX_ELF_SIZE - 1; in rk_dump_elf64_image_phdr()
360 if (shdr->sh_offset != elf_size) in rk_dump_elf64_image_phdr()
361 shdr->sh_offset = elf_size; in rk_dump_elf64_image_phdr()
365 shdr->sh_info &= GENMASK(34, 0); /* 32GB */ in rk_dump_elf64_image_phdr()
367 if (phdr->p_paddr != phdr->p_align && phdr->p_align == shdr->sh_entsize) in rk_dump_elf64_image_phdr()
376 if (phdr->p_vaddr != shdr->sh_addr) { in rk_dump_elf64_image_phdr()
377 if (shdr->sh_addr == shdr->sh_addralign) in rk_dump_elf64_image_phdr()
378 phdr->p_vaddr = shdr->sh_addr; in rk_dump_elf64_image_phdr()
379 else if (phdr->p_vaddr == shdr->sh_addralign) in rk_dump_elf64_image_phdr()
380 shdr->sh_addr = phdr->p_vaddr; in rk_dump_elf64_image_phdr()
383 i, phdr->p_vaddr, shdr->sh_addr, shdr->sh_addralign); in rk_dump_elf64_image_phdr()
386 if (shdr->sh_name >= MAX_STRTBL_SIZE) in rk_dump_elf64_image_phdr()
387 shdr->sh_name = 0; in rk_dump_elf64_image_phdr()
388 shdr->sh_type = SHT_PROGBITS; in rk_dump_elf64_image_phdr()
389 shdr->sh_flags = SHF_WRITE; in rk_dump_elf64_image_phdr()
390 shdr->sh_size &= GENMASK(23, 0); /* 16MB */ in rk_dump_elf64_image_phdr()
391 shdr->sh_link = 0; in rk_dump_elf64_image_phdr()
392 shdr->sh_info = 0; in rk_dump_elf64_image_phdr()
393 shdr->sh_addralign = 0; in rk_dump_elf64_image_phdr()
394 shdr->sh_entsize = 0; in rk_dump_elf64_image_phdr()
398 shdr->sh_size = size; in rk_dump_elf64_image_phdr()
399 } else if (phdr->p_filesz == shdr->sh_size) { in rk_dump_elf64_image_phdr()
402 } else if (phdr->p_memsz == shdr->sh_size) { in rk_dump_elf64_image_phdr()
411 shdr->sh_size = size; in rk_dump_elf64_image_phdr()
414 i, phdr->p_filesz, phdr->p_memsz, shdr->sh_size); in rk_dump_elf64_image_phdr()
440 shdr++; in rk_dump_elf64_image_phdr()