Lines Matching refs:shdr
29 Elf_Shdr shdr; member
244 name = sec_strtab + secs[shndx].shdr.sh_name; in sec_name()
278 if (sec->shdr.sh_type != SHT_SYMTAB) in sym_lookup()
281 nsyms = sec->shdr.sh_size/sizeof(Elf_Sym); in sym_lookup()
392 Elf_Shdr shdr; in read_shdrs() local
405 if (fread(&shdr, sizeof shdr, 1, fp) != 1) in read_shdrs()
408 sec->shdr.sh_name = elf_word_to_cpu(shdr.sh_name); in read_shdrs()
409 sec->shdr.sh_type = elf_word_to_cpu(shdr.sh_type); in read_shdrs()
410 sec->shdr.sh_flags = elf_xword_to_cpu(shdr.sh_flags); in read_shdrs()
411 sec->shdr.sh_addr = elf_addr_to_cpu(shdr.sh_addr); in read_shdrs()
412 sec->shdr.sh_offset = elf_off_to_cpu(shdr.sh_offset); in read_shdrs()
413 sec->shdr.sh_size = elf_xword_to_cpu(shdr.sh_size); in read_shdrs()
414 sec->shdr.sh_link = elf_word_to_cpu(shdr.sh_link); in read_shdrs()
415 sec->shdr.sh_info = elf_word_to_cpu(shdr.sh_info); in read_shdrs()
416 sec->shdr.sh_addralign = elf_xword_to_cpu(shdr.sh_addralign); in read_shdrs()
417 sec->shdr.sh_entsize = elf_xword_to_cpu(shdr.sh_entsize); in read_shdrs()
418 if (sec->shdr.sh_link < ehdr.e_shnum) in read_shdrs()
419 sec->link = &secs[sec->shdr.sh_link]; in read_shdrs()
429 if (sec->shdr.sh_type != SHT_STRTAB) { in read_strtabs()
432 sec->strtab = malloc(sec->shdr.sh_size); in read_strtabs()
435 sec->shdr.sh_size); in read_strtabs()
437 if (fseek(fp, sec->shdr.sh_offset, SEEK_SET) < 0) { in read_strtabs()
439 sec->shdr.sh_offset, strerror(errno)); in read_strtabs()
441 if (fread(sec->strtab, 1, sec->shdr.sh_size, fp) in read_strtabs()
442 != sec->shdr.sh_size) { in read_strtabs()
454 if (sec->shdr.sh_type != SHT_SYMTAB) { in read_symtabs()
457 sec->symtab = malloc(sec->shdr.sh_size); in read_symtabs()
460 sec->shdr.sh_size); in read_symtabs()
462 if (fseek(fp, sec->shdr.sh_offset, SEEK_SET) < 0) { in read_symtabs()
464 sec->shdr.sh_offset, strerror(errno)); in read_symtabs()
466 if (fread(sec->symtab, 1, sec->shdr.sh_size, fp) in read_symtabs()
467 != sec->shdr.sh_size) { in read_symtabs()
471 for (j = 0; j < sec->shdr.sh_size/sizeof(Elf_Sym); j++) { in read_symtabs()
487 if (sec->shdr.sh_type != SHT_REL_TYPE) { in read_relocs()
490 sec->reltab = malloc(sec->shdr.sh_size); in read_relocs()
493 sec->shdr.sh_size); in read_relocs()
495 if (fseek(fp, sec->shdr.sh_offset, SEEK_SET) < 0) { in read_relocs()
497 sec->shdr.sh_offset, strerror(errno)); in read_relocs()
499 if (fread(sec->reltab, 1, sec->shdr.sh_size, fp) in read_relocs()
500 != sec->shdr.sh_size) { in read_relocs()
504 for (j = 0; j < sec->shdr.sh_size/sizeof(Elf_Rel); j++) { in read_relocs()
533 if (sec->shdr.sh_type != SHT_SYMTAB) { in print_absolute_symbols()
537 for (j = 0; j < sec->shdr.sh_size/sizeof(Elf_Sym); j++) { in print_absolute_symbols()
572 if (sec->shdr.sh_type != SHT_REL_TYPE) { in print_absolute_relocs()
576 sec_applies = &secs[sec->shdr.sh_info]; in print_absolute_relocs()
577 if (!(sec_applies->shdr.sh_flags & SHF_ALLOC)) { in print_absolute_relocs()
582 for (j = 0; j < sec->shdr.sh_size/sizeof(Elf_Rel); j++) { in print_absolute_relocs()
657 if (sec->shdr.sh_type != SHT_REL_TYPE) { in walk_relocs()
661 sec_applies = &secs[sec->shdr.sh_info]; in walk_relocs()
662 if (!(sec_applies->shdr.sh_flags & SHF_ALLOC)) { in walk_relocs()
667 for (j = 0; j < sec->shdr.sh_size/sizeof(Elf_Rel); j++) { in walk_relocs()
711 if (secs[i].shdr.sh_addr != 0) /* non SMP kernel */ in percpu_init()
763 if (sec->shdr.sh_info == per_cpu_shndx) in do_reloc64()
1056 sec_name(sec->shdr.sh_info), in do_reloc_info()