Lines Matching full:sec

280 		struct section *sec = &secs[i];  in sym_lookup()  local
286 if (sec->shdr.sh_type != SHT_SYMTAB) in sym_lookup()
289 nsyms = sec->shdr.sh_size/sizeof(Elf_Sym); in sym_lookup()
290 symtab = sec->symtab; in sym_lookup()
291 strtab = sec->link->strtab; in sym_lookup()
426 struct section *sec = &secs[i]; in read_shdrs() local
430 sec->shdr.sh_name = elf_word_to_cpu(shdr.sh_name); in read_shdrs()
431 sec->shdr.sh_type = elf_word_to_cpu(shdr.sh_type); in read_shdrs()
432 sec->shdr.sh_flags = elf_xword_to_cpu(shdr.sh_flags); in read_shdrs()
433 sec->shdr.sh_addr = elf_addr_to_cpu(shdr.sh_addr); in read_shdrs()
434 sec->shdr.sh_offset = elf_off_to_cpu(shdr.sh_offset); in read_shdrs()
435 sec->shdr.sh_size = elf_xword_to_cpu(shdr.sh_size); in read_shdrs()
436 sec->shdr.sh_link = elf_word_to_cpu(shdr.sh_link); in read_shdrs()
437 sec->shdr.sh_info = elf_word_to_cpu(shdr.sh_info); in read_shdrs()
438 sec->shdr.sh_addralign = elf_xword_to_cpu(shdr.sh_addralign); in read_shdrs()
439 sec->shdr.sh_entsize = elf_xword_to_cpu(shdr.sh_entsize); in read_shdrs()
440 if (sec->shdr.sh_link < shnum) in read_shdrs()
441 sec->link = &secs[sec->shdr.sh_link]; in read_shdrs()
450 struct section *sec = &secs[i]; in read_strtabs() local
451 if (sec->shdr.sh_type != SHT_STRTAB) { in read_strtabs()
454 sec->strtab = malloc(sec->shdr.sh_size); in read_strtabs()
455 if (!sec->strtab) { in read_strtabs()
457 sec->shdr.sh_size); in read_strtabs()
459 if (fseek(fp, sec->shdr.sh_offset, SEEK_SET) < 0) { in read_strtabs()
461 sec->shdr.sh_offset, strerror(errno)); in read_strtabs()
463 if (fread(sec->strtab, 1, sec->shdr.sh_size, fp) in read_strtabs()
464 != sec->shdr.sh_size) { in read_strtabs()
475 struct section *sec = &secs[i]; in read_symtabs() local
476 if (sec->shdr.sh_type != SHT_SYMTAB) { in read_symtabs()
479 sec->symtab = malloc(sec->shdr.sh_size); in read_symtabs()
480 if (!sec->symtab) { in read_symtabs()
482 sec->shdr.sh_size); in read_symtabs()
484 if (fseek(fp, sec->shdr.sh_offset, SEEK_SET) < 0) { in read_symtabs()
486 sec->shdr.sh_offset, strerror(errno)); in read_symtabs()
488 if (fread(sec->symtab, 1, sec->shdr.sh_size, fp) in read_symtabs()
489 != sec->shdr.sh_size) { in read_symtabs()
493 for (j = 0; j < sec->shdr.sh_size/sizeof(Elf_Sym); j++) { in read_symtabs()
494 Elf_Sym *sym = &sec->symtab[j]; in read_symtabs()
508 struct section *sec = &secs[i]; in read_relocs() local
509 if (sec->shdr.sh_type != SHT_REL_TYPE) { in read_relocs()
512 sec->reltab = malloc(sec->shdr.sh_size); in read_relocs()
513 if (!sec->reltab) { in read_relocs()
515 sec->shdr.sh_size); in read_relocs()
517 if (fseek(fp, sec->shdr.sh_offset, SEEK_SET) < 0) { in read_relocs()
519 sec->shdr.sh_offset, strerror(errno)); in read_relocs()
521 if (fread(sec->reltab, 1, sec->shdr.sh_size, fp) in read_relocs()
522 != sec->shdr.sh_size) { in read_relocs()
526 for (j = 0; j < sec->shdr.sh_size/sizeof(Elf_Rel); j++) { in read_relocs()
527 Elf_Rel *rel = &sec->reltab[j]; in read_relocs()
551 struct section *sec = &secs[i]; in print_absolute_symbols() local
555 if (sec->shdr.sh_type != SHT_SYMTAB) { in print_absolute_symbols()
558 sym_strtab = sec->link->strtab; in print_absolute_symbols()
559 for (j = 0; j < sec->shdr.sh_size/sizeof(Elf_Sym); j++) { in print_absolute_symbols()
562 sym = &sec->symtab[j]; in print_absolute_symbols()
589 struct section *sec = &secs[i]; in print_absolute_relocs() local
594 if (sec->shdr.sh_type != SHT_REL_TYPE) { in print_absolute_relocs()
597 sec_symtab = sec->link; in print_absolute_relocs()
598 sec_applies = &secs[sec->shdr.sh_info]; in print_absolute_relocs()
604 for (j = 0; j < sec->shdr.sh_size/sizeof(Elf_Rel); j++) { in print_absolute_relocs()
608 rel = &sec->reltab[j]; in print_absolute_relocs()
667 static void walk_relocs(int (*process)(struct section *sec, Elf_Rel *rel, in walk_relocs() argument
677 struct section *sec = &secs[i]; in walk_relocs() local
679 if (sec->shdr.sh_type != SHT_REL_TYPE) { in walk_relocs()
682 sec_symtab = sec->link; in walk_relocs()
683 sec_applies = &secs[sec->shdr.sh_info]; in walk_relocs()
689 for (j = 0; j < sec->shdr.sh_size/sizeof(Elf_Rel); j++) { in walk_relocs()
690 Elf_Rel *rel = &sec->reltab[j]; in walk_relocs()
694 process(sec, rel, sym, symname); in walk_relocs()
772 static int do_reloc64(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym, in do_reloc64() argument
785 if (sec->shdr.sh_info == per_cpu_shndx) in do_reloc64()
862 static int do_reloc32(struct section *sec, Elf_Rel *rel, Elf_Sym *sym, in do_reloc32() argument
907 static int do_reloc_real(struct section *sec, Elf_Rel *rel, Elf_Sym *sym, in do_reloc_real() argument
1011 int (*do_reloc)(struct section *sec, Elf_Rel *rel, Elf_Sym *sym, in emit_relocs()
1091 static int do_reloc_info(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym, in do_reloc_info() argument
1095 sec_name(sec->shdr.sh_info), in do_reloc_info()