/arch/powerpc/kernel/ |
D | module_64.c | 138 const Elf64_Shdr *sechdrs) in get_stubs_size() argument 146 if (sechdrs[i].sh_type == SHT_RELA) { in get_stubs_size() 149 (void *)sechdrs[i].sh_addr, in get_stubs_size() 150 sechdrs[i].sh_size / sizeof(Elf64_Rela)); in get_stubs_size() 157 sort((void *)sechdrs[i].sh_addr, in get_stubs_size() 158 sechdrs[i].sh_size / sizeof(Elf64_Rela), in get_stubs_size() 161 relocs += count_relocs((void *)sechdrs[i].sh_addr, in get_stubs_size() 162 sechdrs[i].sh_size in get_stubs_size() 201 Elf64_Shdr *sechdrs, in module_frob_arch_sections() argument 210 if (strcmp(secstrings + sechdrs[i].sh_name, ".stubs") == 0) in module_frob_arch_sections() [all …]
|
D | module_32.c | 104 const Elf32_Shdr *sechdrs, in get_plt_size() argument 116 if ((strstr(secstrings + sechdrs[i].sh_name, ".init") != 0) in get_plt_size() 121 if (strstr(secstrings + sechdrs[i].sh_name, ".debug") != 0) in get_plt_size() 124 if (sechdrs[i].sh_type == SHT_RELA) { in get_plt_size() 127 (void *)hdr + sechdrs[i].sh_offset, in get_plt_size() 128 sechdrs[i].sh_size / sizeof(Elf32_Rela)); in get_plt_size() 135 sort((void *)hdr + sechdrs[i].sh_offset, in get_plt_size() 136 sechdrs[i].sh_size / sizeof(Elf32_Rela), in get_plt_size() 140 + sechdrs[i].sh_offset, in get_plt_size() 141 sechdrs[i].sh_size in get_plt_size() [all …]
|
D | module.c | 34 const Elf_Shdr *sechdrs, in find_section() argument 40 secstrings = (char *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; in find_section() 42 if (strcmp(secstrings+sechdrs[i].sh_name, name) == 0) in find_section() 43 return &sechdrs[i]; in find_section() 48 const Elf_Shdr *sechdrs, struct module *me) in module_finalize() argument 53 sect = find_section(hdr, sechdrs, "__ftr_fixup"); in module_finalize() 59 sect = find_section(hdr, sechdrs, "__mmu_ftr_fixup"); in module_finalize() 66 sect = find_section(hdr, sechdrs, "__fw_ftr_fixup"); in module_finalize() 73 sect = find_section(hdr, sechdrs, "__lwsync_fixup"); in module_finalize()
|
/arch/m68k/kernel/ |
D | module.c | 22 int apply_relocate(Elf32_Shdr *sechdrs, in apply_relocate() argument 29 Elf32_Rel *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate() 34 sechdrs[relsec].sh_info); in apply_relocate() 35 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate() 37 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate() 41 sym = (Elf32_Sym *)sechdrs[symindex].sh_addr in apply_relocate() 62 int apply_relocate_add(Elf32_Shdr *sechdrs, in apply_relocate_add() argument 69 Elf32_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 74 sechdrs[relsec].sh_info); in apply_relocate_add() 75 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() [all …]
|
/arch/x86/kernel/ |
D | module.c | 48 int apply_relocate(Elf32_Shdr *sechdrs, in apply_relocate() argument 55 Elf32_Rel *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate() 60 sechdrs[relsec].sh_info); in apply_relocate() 61 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate() 63 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate() 67 sym = (Elf32_Sym *)sechdrs[symindex].sh_addr in apply_relocate() 88 int apply_relocate_add(Elf64_Shdr *sechdrs, in apply_relocate_add() argument 95 Elf64_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 101 sechdrs[relsec].sh_info); in apply_relocate_add() 102 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() [all …]
|
/arch/sparc/kernel/ |
D | module.c | 76 Elf_Shdr *sechdrs, in module_frob_arch_sections() argument 85 for (symidx = 0; sechdrs[symidx].sh_type != SHT_SYMTAB; symidx++) { in module_frob_arch_sections() 91 sym = (Elf_Sym *)sechdrs[symidx].sh_addr; in module_frob_arch_sections() 92 strtab = (char *)sechdrs[sechdrs[symidx].sh_link].sh_addr; in module_frob_arch_sections() 94 for (i = 1; i < sechdrs[symidx].sh_size / sizeof(Elf_Sym); i++) { in module_frob_arch_sections() 107 int apply_relocate_add(Elf_Shdr *sechdrs, in apply_relocate_add() argument 114 Elf_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 119 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 123 location = (u8 *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 133 sym = (Elf_Sym *)sechdrs[symindex].sh_addr in apply_relocate_add() [all …]
|
/arch/hexagon/kernel/ |
D | module.c | 40 int module_frob_arch_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs, in module_frob_arch_sections() argument 50 secstrings + sechdrs[i].sh_name); in module_frob_arch_sections() 51 if (strcmp(secstrings + sechdrs[i].sh_name, ".plt") == 0) in module_frob_arch_sections() 53 if (strcmp(secstrings + sechdrs[i].sh_name, ".got.plt") == 0) in module_frob_arch_sections() 55 if (strcmp(secstrings + sechdrs[i].sh_name, ".rela.plt") == 0) in module_frob_arch_sections() 80 int apply_relocate_add(Elf_Shdr *sechdrs, const char *strtab, in apply_relocate_add() argument 88 unsigned int nrelocs = sechdrs[relsec].sh_size / sizeof(Elf32_Rela); in apply_relocate_add() 89 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 90 Elf32_Word sym_info = sechdrs[relsec].sh_info; in apply_relocate_add() 91 Elf32_Sym *sym_base = (Elf32_Sym *) sechdrs[symindex].sh_addr; in apply_relocate_add() [all …]
|
/arch/sh/kernel/ |
D | module.c | 37 int apply_relocate_add(Elf32_Shdr *sechdrs, in apply_relocate_add() argument 44 Elf32_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 51 sechdrs[relsec].sh_info); in apply_relocate_add() 52 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 54 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 58 sym = (Elf32_Sym *)sechdrs[symindex].sh_addr in apply_relocate_add() 113 const Elf_Shdr *sechdrs, in module_finalize() argument 118 ret |= module_dwarf_finalize(hdr, sechdrs, me); in module_finalize()
|
/arch/cris/kernel/ |
D | module.c | 47 int apply_relocate_add(Elf32_Shdr *sechdrs, in apply_relocate_add() argument 54 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 57 sechdrs[relsec].sh_info); in apply_relocate_add() 59 for (i = 0; i < sechdrs[relsec].sh_size / sizeof (*rela); i++) { in apply_relocate_add() 62 = ((void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 67 = ((Elf32_Sym *)sechdrs[symindex].sh_addr in apply_relocate_add()
|
/arch/openrisc/kernel/ |
D | module.c | 20 int apply_relocate_add(Elf32_Shdr *sechdrs, in apply_relocate_add() argument 27 Elf32_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 33 sechdrs[relsec].sh_info); in apply_relocate_add() 34 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 36 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 41 sym = (Elf32_Sym *)sechdrs[symindex].sh_addr in apply_relocate_add()
|
/arch/microblaze/kernel/ |
D | module.c | 21 int apply_relocate_add(Elf32_Shdr *sechdrs, const char *strtab, in apply_relocate_add() argument 26 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 35 relsec, sechdrs[relsec].sh_info); in apply_relocate_add() 37 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { in apply_relocate_add() 39 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr + in apply_relocate_add() 41 sym = (Elf32_Sym *)sechdrs[symindex].sh_addr + in apply_relocate_add() 121 int module_finalize(const Elf32_Ehdr *hdr, const Elf_Shdr *sechdrs, in module_finalize() argument
|
/arch/blackfin/kernel/ |
D | module.c | 21 module_frob_arch_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs, in module_frob_arch_sections() argument 31 Elf_Shdr *s, *sechdrs_end = sechdrs + hdr->e_shnum; in module_frob_arch_sections() 34 for (s = sechdrs; s < sechdrs_end; ++s) { in module_frob_arch_sections() 151 apply_relocate_add(Elf_Shdr *sechdrs, const char *strtab, in apply_relocate_add() argument 156 Elf32_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 161 relsec, sechdrs[relsec].sh_info); in apply_relocate_add() 163 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 165 location = sechdrs[sechdrs[relsec].sh_info].sh_addr + in apply_relocate_add() 170 sym = (Elf32_Sym *) sechdrs[symindex].sh_addr in apply_relocate_add() 235 const Elf_Shdr * sechdrs, struct module *mod) in module_finalize() argument [all …]
|
/arch/h8300/kernel/ |
D | module.c | 14 int apply_relocate_add(Elf32_Shdr *sechdrs, in apply_relocate_add() argument 21 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 24 sechdrs[relsec].sh_info); in apply_relocate_add() 25 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { in apply_relocate_add() 27 uint32_t *loc = (uint32_t *)(sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 31 Elf32_Sym *sym = (Elf32_Sym *)sechdrs[symindex].sh_addr in apply_relocate_add()
|
/arch/mips/kernel/ |
D | module.c | 262 int apply_relocate(Elf_Shdr *sechdrs, const char *strtab, in apply_relocate() argument 266 Elf_Mips_Rel *rel = (void *) sechdrs[relsec].sh_addr; in apply_relocate() 274 sechdrs[relsec].sh_info); in apply_relocate() 276 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate() 278 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate() 281 sym = (Elf_Sym *)sechdrs[symindex].sh_addr in apply_relocate() 302 int apply_relocate_add(Elf_Shdr *sechdrs, const char *strtab, in apply_relocate_add() argument 306 Elf_Mips_Rela *rel = (void *) sechdrs[relsec].sh_addr; in apply_relocate_add() 314 sechdrs[relsec].sh_info); in apply_relocate_add() 316 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() [all …]
|
D | vpe.c | 305 Elf_Shdr * sechdrs, const char *secstrings) in layout_sections() argument 319 sechdrs[i].sh_entsize = ~0UL; in layout_sections() 323 Elf_Shdr *s = &sechdrs[i]; in layout_sections() 554 static int apply_relocations(Elf32_Shdr *sechdrs, in apply_relocations() argument 560 Elf32_Rel *rel = (void *) sechdrs[relsec].sh_addr; in apply_relocations() 567 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocations() 571 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocations() 574 sym = (Elf32_Sym *)sechdrs[symindex].sh_addr in apply_relocations() 609 static void simplify_symbols(Elf_Shdr * sechdrs, in simplify_symbols() argument 615 Elf_Sym *sym = (void *)sechdrs[symindex].sh_addr; in simplify_symbols() [all …]
|
/arch/mn10300/kernel/ |
D | module.c | 56 int apply_relocate_add(Elf32_Shdr *sechdrs, in apply_relocate_add() argument 63 Elf32_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 70 relsec, sechdrs[relsec].sh_info); in apply_relocate_add() 72 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 74 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 79 sym = (Elf32_Sym *)sechdrs[symindex].sh_addr in apply_relocate_add()
|
/arch/c6x/kernel/ |
D | module.c | 45 int apply_relocate_add(Elf32_Shdr *sechdrs, in apply_relocate_add() argument 51 Elf32_Rela *rel = (void *) sechdrs[relsec].sh_addr; in apply_relocate_add() 59 relsec, sechdrs[relsec].sh_info, offset); in apply_relocate_add() 61 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 63 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 68 sym = (Elf_Sym *)sechdrs[symindex].sh_addr in apply_relocate_add()
|
/arch/xtensa/kernel/ |
D | module.c | 49 int apply_relocate_add(Elf32_Shdr *sechdrs, in apply_relocate_add() argument 56 Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 63 sechdrs[relsec].sh_info); in apply_relocate_add() 65 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { in apply_relocate_add() 66 location = (char *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 68 sym = (Elf32_Sym *)sechdrs[symindex].sh_addr in apply_relocate_add()
|
/arch/alpha/kernel/ |
D | module.c | 76 module_frob_arch_sections(Elf64_Ehdr *hdr, Elf64_Shdr *sechdrs, in module_frob_arch_sections() argument 84 esechdrs = sechdrs + hdr->e_shnum; in module_frob_arch_sections() 90 for (s = sechdrs; s < esechdrs; ++s) in module_frob_arch_sections() 95 me->arch.gotsecindex = s - sechdrs; in module_frob_arch_sections() 122 for (s = sechdrs; s < esechdrs; ++s) in module_frob_arch_sections() 145 apply_relocate_add(Elf64_Shdr *sechdrs, const char *strtab, in apply_relocate_add() argument 149 Elf64_Rela *rela = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 150 unsigned long i, n = sechdrs[relsec].sh_size / sizeof(*rela); in apply_relocate_add() 156 sechdrs[relsec].sh_info); in apply_relocate_add() 158 base = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr; in apply_relocate_add() [all …]
|
/arch/arm/kernel/ |
D | module.c | 49 apply_relocate(Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex, in apply_relocate() argument 52 Elf32_Shdr *symsec = sechdrs + symindex; in apply_relocate() 53 Elf32_Shdr *relsec = sechdrs + relindex; in apply_relocate() 54 Elf32_Shdr *dstsec = sechdrs + relsec->sh_info; in apply_relocate() 256 const Elf_Shdr *sechdrs, const char *name) in find_mod_section() argument 259 const char *secstrs = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; in find_mod_section() 261 for (s = sechdrs, se = sechdrs + hdr->e_shnum; s < se; s++) in find_mod_section() 271 int module_finalize(const Elf32_Ehdr *hdr, const Elf_Shdr *sechdrs, in module_finalize() argument 276 const char *secstrs = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; in module_finalize() 277 const Elf_Shdr *sechdrs_end = sechdrs + hdr->e_shnum; in module_finalize() [all …]
|
/arch/s390/kernel/ |
D | module.c | 109 module_frob_arch_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs, in module_frob_arch_sections() argument 121 switch (sechdrs[i].sh_type) { in module_frob_arch_sections() 123 symtab = sechdrs + i; in module_frob_arch_sections() 138 strings = (void *) hdr + sechdrs[symtab->sh_link].sh_offset; in module_frob_arch_sections() 154 if (sechdrs[i].sh_type != SHT_RELA) in module_frob_arch_sections() 156 nrela = sechdrs[i].sh_size / sizeof(Elf_Rela); in module_frob_arch_sections() 157 rela = (void *) hdr + sechdrs[i].sh_offset; in module_frob_arch_sections() 363 apply_relocate_add(Elf_Shdr *sechdrs, const char *strtab, in apply_relocate_add() argument 374 relsec, sechdrs[relsec].sh_info); in apply_relocate_add() 375 base = sechdrs[sechdrs[relsec].sh_info].sh_addr; in apply_relocate_add() [all …]
|
/arch/parisc/kernel/ |
D | module.c | 325 CONST Elf_Shdr *sechdrs, in module_frob_arch_sections() argument 338 const Elf_Rela *rels = (void *)sechdrs[i].sh_addr; in module_frob_arch_sections() 339 unsigned long nrels = sechdrs[i].sh_size / sizeof(*rels); in module_frob_arch_sections() 342 if (strncmp(secstrings + sechdrs[i].sh_name, in module_frob_arch_sections() 346 if (sechdrs[i].sh_type != SHT_RELA) in module_frob_arch_sections() 366 s = sechdrs[i].sh_info; in module_frob_arch_sections() 544 int apply_relocate_add(Elf_Shdr *sechdrs, in apply_relocate_add() argument 551 Elf32_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 558 unsigned int targetsec = sechdrs[relsec].sh_info; in apply_relocate_add() 564 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() [all …]
|
/arch/x86/vdso/ |
D | vma.c | 35 Elf32_Shdr *sechdrs, *alt_sec = 0; in patch_vdsox32() local 43 sechdrs = (void *)hdr + hdr->e_shoff; in patch_vdsox32() 44 secstrings = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; in patch_vdsox32() 47 Elf32_Shdr *shdr = &sechdrs[i]; in patch_vdsox32() 67 Elf64_Shdr *sechdrs, *alt_sec = 0; in patch_vdso64() local 75 sechdrs = (void *)hdr + hdr->e_shoff; in patch_vdso64() 76 secstrings = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; in patch_vdso64() 79 Elf64_Shdr *shdr = &sechdrs[i]; in patch_vdso64()
|
/arch/avr32/kernel/ |
D | module.c | 62 int module_frob_arch_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs, in module_frob_arch_sections() argument 75 switch (sechdrs[i].sh_type) { in module_frob_arch_sections() 77 symtab = &sechdrs[i]; in module_frob_arch_sections() 93 strings = (void *)hdr + sechdrs[symtab->sh_link].sh_offset; in module_frob_arch_sections() 107 if (sechdrs[i].sh_type != SHT_RELA) in module_frob_arch_sections() 109 nrela = sechdrs[i].sh_size / sizeof(Elf32_Rela); in module_frob_arch_sections() 110 rela = (void *)hdr + sechdrs[i].sh_offset; in module_frob_arch_sections() 147 int apply_relocate_add(Elf32_Shdr *sechdrs, const char *strtab, in apply_relocate_add() argument 151 Elf32_Shdr *symsec = sechdrs + symindex; in apply_relocate_add() 152 Elf32_Shdr *relsec = sechdrs + relindex; in apply_relocate_add() [all …]
|
/arch/m32r/kernel/ |
D | module.c | 71 int apply_relocate_add(Elf32_Shdr *sechdrs, in apply_relocate_add() argument 78 Elf32_Rela *rel = (void *)sechdrs[relsec].sh_addr; in apply_relocate_add() 89 sechdrs[relsec].sh_info); in apply_relocate_add() 90 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add() 92 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 96 sym = (Elf32_Sym *)sechdrs[symindex].sh_addr in apply_relocate_add() 205 int apply_relocate(Elf32_Shdr *sechdrs, in apply_relocate() argument
|