rela 29 arch/alpha/kernel/module.c process_reloc_for_got(Elf64_Rela *rela, rela 32 arch/alpha/kernel/module.c unsigned long r_sym = ELF64_R_SYM (rela->r_info); rela 33 arch/alpha/kernel/module.c unsigned long r_type = ELF64_R_TYPE (rela->r_info); rela 34 arch/alpha/kernel/module.c Elf64_Sxword r_addend = rela->r_addend; rela 60 arch/alpha/kernel/module.c rela->r_info |= g->got_offset << 8; rela 68 arch/alpha/kernel/module.c Elf64_Rela *rela; rela 113 arch/alpha/kernel/module.c rela = (void *)hdr + s->sh_offset; rela 115 arch/alpha/kernel/module.c process_reloc_for_got(rela+i, chains, rela 137 arch/alpha/kernel/module.c Elf64_Rela *rela = (void *)sechdrs[relsec].sh_addr; rela 138 arch/alpha/kernel/module.c unsigned long i, n = sechdrs[relsec].sh_size / sizeof(*rela); rela 155 arch/alpha/kernel/module.c unsigned long r_sym = ELF64_R_SYM (rela[i].r_info); rela 156 arch/alpha/kernel/module.c unsigned long r_type = ELF64_R_TYPE (rela[i].r_info); rela 162 arch/alpha/kernel/module.c location = base + rela[i].r_offset; rela 167 arch/alpha/kernel/module.c value = sym->st_value + rela[i].r_addend; rela 203 arch/alpha/kernel/module.c *(u16 *)(location + rela[i].r_addend) = lo; rela 29 arch/arm64/include/asm/module.h void *loc, const Elf64_Rela *rela, rela 72 arch/arm64/kernel/module-plts.c void *loc, const Elf64_Rela *rela, rela 80 arch/arm64/kernel/module-plts.c u64 val = sym->st_value + rela->r_addend; rela 149 arch/arm64/kernel/module-plts.c static bool duplicate_rel(const Elf64_Rela *rela, int num) rela 156 arch/arm64/kernel/module-plts.c return num > 0 && cmp_rela(rela + num, rela + num - 1) == 0; rela 159 arch/arm64/kernel/module-plts.c static unsigned int count_plts(Elf64_Sym *syms, Elf64_Rela *rela, int num, rela 169 arch/arm64/kernel/module-plts.c switch (ELF64_R_TYPE(rela[i].r_info)) { rela 186 arch/arm64/kernel/module-plts.c s = syms + ELF64_R_SYM(rela[i].r_info); rela 203 arch/arm64/kernel/module-plts.c if (rela[i].r_addend != 0 || !duplicate_rel(rela, i)) rela 226 arch/arm64/kernel/module-plts.c min_align = 2ULL << ffz(rela[i].r_offset | 0x7); rela 16 arch/h8300/kernel/module.c Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; rela 20 arch/h8300/kernel/module.c for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { rela 24 arch/h8300/kernel/module.c + rela[i].r_offset); rela 28 arch/h8300/kernel/module.c + ELF32_R_SYM(rela[i].r_info); rela 29 arch/h8300/kernel/module.c uint32_t v = sym->st_value + rela[i].r_addend; rela 31 arch/h8300/kernel/module.c switch (ELF32_R_TYPE(rela[i].r_info)) { rela 37 arch/h8300/kernel/module.c if (ELF32_R_SYM(rela[i].r_info)) rela 62 arch/h8300/kernel/module.c me->name, ELF32_R_TYPE(rela[i].r_info)); rela 69 arch/h8300/kernel/module.c me->name, rela[i].r_offset); rela 76 arch/hexagon/kernel/module.c Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; rela 87 arch/hexagon/kernel/module.c sym = sym_base + ELF32_R_SYM(rela[i].r_info); rela 90 arch/hexagon/kernel/module.c location = loc_base + rela[i].r_offset; rela 93 arch/hexagon/kernel/module.c value = sym->st_value + rela[i].r_addend; rela 96 arch/hexagon/kernel/module.c i, value, location, ELF32_R_TYPE(rela[i].r_info), rela 100 arch/hexagon/kernel/module.c switch (ELF32_R_TYPE(rela[i].r_info)) { rela 144 arch/hexagon/kernel/module.c ELF32_R_TYPE(rela[i].r_info)); rela 321 arch/ia64/kernel/module.c duplicate_reloc (const Elf64_Rela *rela, unsigned int num) rela 326 arch/ia64/kernel/module.c if (rela[i].r_info == rela[num].r_info && rela[i].r_addend == rela[num].r_addend) rela 334 arch/ia64/kernel/module.c count_gots (const Elf64_Rela *rela, unsigned int num) rela 341 arch/ia64/kernel/module.c switch (ELF64_R_TYPE(rela[i].r_info)) { rela 351 arch/ia64/kernel/module.c if (!duplicate_reloc(rela, i)) rela 361 arch/ia64/kernel/module.c count_plts (const Elf64_Rela *rela, unsigned int num) rela 368 arch/ia64/kernel/module.c switch (ELF64_R_TYPE(rela[i].r_info)) { rela 376 arch/ia64/kernel/module.c if (!duplicate_reloc(rela, i)) rela 387 arch/ia64/kernel/module.c count_fdescs (const Elf64_Rela *rela, unsigned int num) rela 393 arch/ia64/kernel/module.c switch (ELF64_R_TYPE(rela[i].r_info)) { rela 414 arch/ia64/kernel/module.c if (!duplicate_reloc(rela, i)) rela 793 arch/ia64/kernel/module.c Elf64_Rela *rela = (void *) sechdrs[relsec].sh_addr; rela 829 arch/ia64/kernel/module.c ret = do_reloc(mod, ELF64_R_TYPE(rela[i].r_info), rela 831 arch/ia64/kernel/module.c + ELF64_R_SYM(rela[i].r_info)), rela 832 arch/ia64/kernel/module.c rela[i].r_addend, target_sec, rela 833 arch/ia64/kernel/module.c (void *) target_sec->sh_addr + rela[i].r_offset); rela 23 arch/microblaze/kernel/module.c Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; rela 34 arch/microblaze/kernel/module.c for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { rela 37 arch/microblaze/kernel/module.c rela[i].r_offset; rela 39 arch/microblaze/kernel/module.c ELF32_R_SYM(rela[i].r_info); rela 40 arch/microblaze/kernel/module.c value = sym->st_value + rela[i].r_addend; rela 42 arch/microblaze/kernel/module.c switch (ELF32_R_TYPE(rela[i].r_info)) { rela 110 arch/microblaze/kernel/module.c ELF32_R_TYPE(rela[i].r_info)); rela 45 arch/mips/kernel/module.c u32 base, Elf_Addr v, bool rela) rela 51 arch/mips/kernel/module.c u32 base, Elf_Addr v, bool rela) rela 59 arch/mips/kernel/module.c u32 base, Elf_Addr v, bool rela) rela 80 arch/mips/kernel/module.c u32 base, Elf_Addr v, bool rela) rela 84 arch/mips/kernel/module.c if (rela) { rela 119 arch/mips/kernel/module.c u32 base, Elf_Addr v, bool rela) rela 125 arch/mips/kernel/module.c if (rela) { rela 222 arch/mips/kernel/module.c u32 base, Elf_Addr v, bool rela) rela 228 arch/mips/kernel/module.c u32 base, Elf_Addr v, bool rela) rela 234 arch/mips/kernel/module.c u32 base, Elf_Addr v, bool rela) rela 240 arch/mips/kernel/module.c u32 base, Elf_Addr v, bool rela) rela 242 arch/mips/kernel/module.c if (WARN_ON(!rela)) rela 251 arch/mips/kernel/module.c u32 base, Elf_Addr v, bool rela) rela 253 arch/mips/kernel/module.c if (WARN_ON(!rela)) rela 263 arch/mips/kernel/module.c u32 base, Elf_Addr v, bool rela) rela 265 arch/mips/kernel/module.c if (WARN_ON(!rela)) rela 290 arch/mips/kernel/module.c u32 base, Elf_Addr v, bool rela); rela 309 arch/mips/kernel/module.c struct module *me, bool rela) rela 313 arch/mips/kernel/module.c Elf_Mips_Rela *rela; rela 327 arch/mips/kernel/module.c reloc_sz = rela ? sizeof(*r.rela) : sizeof(*r.rel); rela 359 arch/mips/kernel/module.c if (rela) { rela 360 arch/mips/kernel/module.c v = sym->st_value + r.rela->r_addend; rela 362 arch/mips/kernel/module.c r.rela = &r.rela[1]; rela 369 arch/mips/kernel/module.c err = handler(me, location, base, v, rela); rela 49 arch/nios2/kernel/module.c Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; rela 54 arch/nios2/kernel/module.c for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { rela 59 arch/nios2/kernel/module.c + rela[i].r_offset); rela 64 arch/nios2/kernel/module.c + ELF32_R_SYM(rela[i].r_info)); rela 65 arch/nios2/kernel/module.c uint32_t v = sym->st_value + rela[i].r_addend; rela 68 arch/nios2/kernel/module.c ELF32_R_TYPE(rela[i].r_info), rela 69 arch/nios2/kernel/module.c rela[i].r_offset, strtab + sym->st_name); rela 71 arch/nios2/kernel/module.c switch (ELF32_R_TYPE(rela[i].r_info)) { rela 125 arch/nios2/kernel/module.c mod->name, ELF32_R_TYPE(rela[i].r_info)); rela 207 arch/parisc/kernel/module.c static inline unsigned long count_gots(const Elf_Rela *rela, unsigned long n) rela 212 arch/parisc/kernel/module.c static inline unsigned long count_fdescs(const Elf_Rela *rela, unsigned long n) rela 217 arch/parisc/kernel/module.c static inline unsigned long count_stubs(const Elf_Rela *rela, unsigned long n) rela 221 arch/parisc/kernel/module.c for (; n > 0; n--, rela++) rela 223 arch/parisc/kernel/module.c switch (ELF32_R_TYPE(rela->r_info)) { rela 233 arch/parisc/kernel/module.c static inline unsigned long count_gots(const Elf_Rela *rela, unsigned long n) rela 237 arch/parisc/kernel/module.c for (; n > 0; n--, rela++) rela 239 arch/parisc/kernel/module.c switch (ELF64_R_TYPE(rela->r_info)) { rela 250 arch/parisc/kernel/module.c static inline unsigned long count_fdescs(const Elf_Rela *rela, unsigned long n) rela 254 arch/parisc/kernel/module.c for (; n > 0; n--, rela++) rela 256 arch/parisc/kernel/module.c switch (ELF64_R_TYPE(rela->r_info)) { rela 265 arch/parisc/kernel/module.c static inline unsigned long count_stubs(const Elf_Rela *rela, unsigned long n) rela 269 arch/parisc/kernel/module.c for (; n > 0; n--, rela++) rela 271 arch/parisc/kernel/module.c switch (ELF64_R_TYPE(rela->r_info)) { rela 24 arch/powerpc/kernel/module_32.c static unsigned int count_relocs(const Elf32_Rela *rela, unsigned int num) rela 33 arch/powerpc/kernel/module_32.c if (ELF32_R_TYPE(rela[i].r_info) == R_PPC_REL24 && rela 34 arch/powerpc/kernel/module_32.c (r_info != ELF32_R_SYM(rela[i].r_info) || rela 35 arch/powerpc/kernel/module_32.c r_addend != rela[i].r_addend)) { rela 37 arch/powerpc/kernel/module_32.c r_info = ELF32_R_SYM(rela[i].r_info); rela 38 arch/powerpc/kernel/module_32.c r_addend = rela[i].r_addend; rela 215 arch/powerpc/kernel/module_32.c Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; rela 222 arch/powerpc/kernel/module_32.c for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { rela 225 arch/powerpc/kernel/module_32.c + rela[i].r_offset; rela 229 arch/powerpc/kernel/module_32.c + ELF32_R_SYM(rela[i].r_info); rela 231 arch/powerpc/kernel/module_32.c value = sym->st_value + rela[i].r_addend; rela 233 arch/powerpc/kernel/module_32.c switch (ELF32_R_TYPE(rela[i].r_info)) { rela 289 arch/powerpc/kernel/module_32.c ELF32_R_TYPE(rela[i].r_info)); rela 185 arch/powerpc/kernel/module_64.c static unsigned int count_relocs(const Elf64_Rela *rela, unsigned int num) rela 195 arch/powerpc/kernel/module_64.c if (ELF64_R_TYPE(rela[i].r_info) == R_PPC_REL24 && rela 196 arch/powerpc/kernel/module_64.c (r_info != ELF64_R_SYM(rela[i].r_info) || rela 197 arch/powerpc/kernel/module_64.c r_addend != rela[i].r_addend)) { rela 199 arch/powerpc/kernel/module_64.c r_info = ELF64_R_SYM(rela[i].r_info); rela 200 arch/powerpc/kernel/module_64.c r_addend = rela[i].r_addend; rela 529 arch/powerpc/kernel/module_64.c Elf64_Rela *rela = (void *)sechdrs[relsec].sh_addr; rela 547 arch/powerpc/kernel/module_64.c for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { rela 550 arch/powerpc/kernel/module_64.c + rela[i].r_offset; rela 553 arch/powerpc/kernel/module_64.c + ELF64_R_SYM(rela[i].r_info); rela 556 arch/powerpc/kernel/module_64.c location, (long)ELF64_R_TYPE(rela[i].r_info), rela 558 arch/powerpc/kernel/module_64.c (long)rela[i].r_addend); rela 561 arch/powerpc/kernel/module_64.c value = sym->st_value + rela[i].r_addend; rela 563 arch/powerpc/kernel/module_64.c switch (ELF64_R_TYPE(rela[i].r_info)) { rela 739 arch/powerpc/kernel/module_64.c (unsigned long)ELF64_R_TYPE(rela[i].r_info)); rela 63 arch/riscv/kernel/module-sections.c static bool duplicate_rela(const Elf_Rela *rela, int idx) rela 67 arch/riscv/kernel/module-sections.c if (is_rela_equal(&rela[i], &rela[idx])) rela 94 arch/s390/boot/startup.c Elf64_Rela *rela_start, *rela_end, *rela; rela 102 arch/s390/boot/startup.c for (rela = rela_start; rela < rela_end; rela++) { rela 103 arch/s390/boot/startup.c loc = rela->r_offset + offset; rela 104 arch/s390/boot/startup.c val = rela->r_addend; rela 105 arch/s390/boot/startup.c r_sym = ELF64_R_SYM(rela->r_info); rela 116 arch/s390/boot/startup.c r_type = ELF64_R_TYPE(rela->r_info); rela 60 arch/s390/kernel/module.c static void check_rela(Elf_Rela *rela, struct module *me) rela 64 arch/s390/kernel/module.c info = me->arch.syminfo + ELF_R_SYM (rela->r_info); rela 65 arch/s390/kernel/module.c switch (ELF_R_TYPE (rela->r_info)) { rela 114 arch/s390/kernel/module.c Elf_Rela *rela; rela 157 arch/s390/kernel/module.c rela = (void *) hdr + sechdrs[i].sh_offset; rela 159 arch/s390/kernel/module.c check_rela(rela + j, me); rela 215 arch/s390/kernel/module.c static int apply_rela(Elf_Rela *rela, Elf_Addr base, Elf_Sym *symtab, rela 224 arch/s390/kernel/module.c loc = base + rela->r_offset; rela 227 arch/s390/kernel/module.c r_sym = ELF_R_SYM(rela->r_info); rela 228 arch/s390/kernel/module.c r_type = ELF_R_TYPE(rela->r_info); rela 242 arch/s390/kernel/module.c val += rela->r_addend; rela 261 arch/s390/kernel/module.c val += rela->r_addend - loc; rela 293 arch/s390/kernel/module.c val = info->got_offset + rela->r_addend; rela 348 arch/s390/kernel/module.c info->plt_offset + rela->r_addend; rela 357 arch/s390/kernel/module.c val += rela->r_addend - loc; rela 375 arch/s390/kernel/module.c val = val + rela->r_addend - rela 387 arch/s390/kernel/module.c rela->r_addend - loc; rela 421 arch/s390/kernel/module.c Elf_Rela *rela; rela 429 arch/s390/kernel/module.c rela = (Elf_Rela *) sechdrs[relsec].sh_addr; rela 432 arch/s390/kernel/module.c for (i = 0; i < n; i++, rela++) { rela 433 arch/s390/kernel/module.c rc = apply_rela(rela, base, symtab, strtab, me); rela 54 arch/xtensa/kernel/module.c Elf32_Rela *rela = (void *)sechdrs[relsec].sh_addr; rela 62 arch/xtensa/kernel/module.c for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rela); i++) { rela 64 arch/xtensa/kernel/module.c + rela[i].r_offset; rela 66 arch/xtensa/kernel/module.c + ELF32_R_SYM(rela[i].r_info); rela 67 arch/xtensa/kernel/module.c value = sym->st_value + rela[i].r_addend; rela 69 arch/xtensa/kernel/module.c switch (ELF32_R_TYPE(rela[i].r_info)) { rela 158 arch/xtensa/kernel/module.c ELF32_R_TYPE(rela[i].r_info)); rela 178 arch/xtensa/kernel/module.c ELF32_R_TYPE(rela[i].r_info)); rela 184 arch/xtensa/kernel/module.c ELF32_R_TYPE(rela[i].r_info)); rela 1864 scripts/mod/modpost.c Elf_Rela *rela; rela 1878 scripts/mod/modpost.c for (rela = start; rela < stop; rela++) { rela 1879 scripts/mod/modpost.c r.r_offset = TO_NATIVE(rela->r_offset); rela 1883 scripts/mod/modpost.c r_sym = ELF64_MIPS_R_SYM(rela->r_info); rela 1885 scripts/mod/modpost.c r_typ = ELF64_MIPS_R_TYPE(rela->r_info); rela 1888 scripts/mod/modpost.c r.r_info = TO_NATIVE(rela->r_info); rela 1892 scripts/mod/modpost.c r.r_info = TO_NATIVE(rela->r_info); rela 1895 scripts/mod/modpost.c r.r_addend = TO_NATIVE(rela->r_addend); rela 1900 scripts/mod/modpost.c if (is_second_extable_reloc(start, rela, fromsec)) rela 301 tools/objtool/check.c struct rela *rela; rela 320 tools/objtool/check.c list_for_each_entry(rela, &sec->rela_list, list) { rela 321 tools/objtool/check.c if (rela->sym->type != STT_SECTION) { rela 325 tools/objtool/check.c insn = find_insn(file, rela->sym->sec, rela->addend); rela 328 tools/objtool/check.c else if (rela->addend == rela->sym->sec->len) { rela 331 tools/objtool/check.c if (insn->sec == rela->sym->sec) { rela 339 tools/objtool/check.c rela->sym->sec->name, rela->addend); rela 344 tools/objtool/check.c rela->sym->sec->name, rela->addend); rela 362 tools/objtool/check.c list_for_each_entry(rela, &sec->rela_list, list) { rela 363 tools/objtool/check.c if (rela->sym->type != STT_SECTION) { rela 367 tools/objtool/check.c insn = find_insn(file, rela->sym->sec, rela->addend); rela 370 tools/objtool/check.c else if (rela->addend == rela->sym->sec->len) { rela 373 tools/objtool/check.c if (insn->sec == rela->sym->sec) { rela 381 tools/objtool/check.c rela->sym->sec->name, rela->addend); rela 386 tools/objtool/check.c rela->sym->sec->name, rela->addend); rela 404 tools/objtool/check.c struct rela *rela; rela 410 tools/objtool/check.c list_for_each_entry(rela, &sec->rela_list, list) { rela 411 tools/objtool/check.c switch (rela->sym->type) { rela 413 tools/objtool/check.c func = rela->sym; rela 417 tools/objtool/check.c func = find_symbol_by_offset(rela->sym->sec, rela->addend); rela 423 tools/objtool/check.c WARN("unexpected relocation symbol type in %s: %d", sec->name, rela->sym->type); rela 519 tools/objtool/check.c struct rela *rela; rela 526 tools/objtool/check.c list_for_each_entry(rela, &sec->rela_list, list) { rela 527 tools/objtool/check.c if (rela->sym->type != STT_SECTION) { rela 532 tools/objtool/check.c insn = find_insn(file, rela->sym->sec, rela->addend); rela 550 tools/objtool/check.c struct rela *rela; rela 562 tools/objtool/check.c rela = find_rela_by_dest_range(insn->sec, insn->offset, rela 564 tools/objtool/check.c if (!rela) { rela 567 tools/objtool/check.c } else if (rela->sym->type == STT_SECTION) { rela 568 tools/objtool/check.c dest_sec = rela->sym->sec; rela 569 tools/objtool/check.c dest_off = rela->addend + 4; rela 570 tools/objtool/check.c } else if (rela->sym->sec->idx) { rela 571 tools/objtool/check.c dest_sec = rela->sym->sec; rela 572 tools/objtool/check.c dest_off = rela->sym->sym.st_value + rela->addend + 4; rela 573 tools/objtool/check.c } else if (strstr(rela->sym->name, "_indirect_thunk_")) { rela 587 tools/objtool/check.c insn->call_dest = rela->sym; rela 653 tools/objtool/check.c struct rela *rela; rela 659 tools/objtool/check.c rela = find_rela_by_dest_range(insn->sec, insn->offset, rela 661 tools/objtool/check.c if (!rela) { rela 674 tools/objtool/check.c } else if (rela->sym->type == STT_SECTION) { rela 675 tools/objtool/check.c insn->call_dest = find_symbol_by_offset(rela->sym->sec, rela 676 tools/objtool/check.c rela->addend+4); rela 681 tools/objtool/check.c rela->sym->sec->name, rela 682 tools/objtool/check.c rela->addend + 4); rela 686 tools/objtool/check.c insn->call_dest = rela->sym; rela 900 tools/objtool/check.c struct rela *table) rela 902 tools/objtool/check.c struct rela *rela = table; rela 912 tools/objtool/check.c list_for_each_entry_from(rela, &table->sec->rela_list, list) { rela 915 tools/objtool/check.c if (rela != table && rela->jump_table_start) rela 919 tools/objtool/check.c if (prev_offset && rela->offset != prev_offset + 8) rela 923 tools/objtool/check.c if (rela->sym->sec == pfunc->sec && rela 924 tools/objtool/check.c rela->addend == pfunc->offset) rela 927 tools/objtool/check.c dest_insn = find_insn(file, rela->sym->sec, rela->addend); rela 943 tools/objtool/check.c prev_offset = rela->offset; rela 998 tools/objtool/check.c static struct rela *find_jump_table(struct objtool_file *file, rela 1002 tools/objtool/check.c struct rela *text_rela, *table_rela; rela 1079 tools/objtool/check.c struct rela *rela; rela 1102 tools/objtool/check.c rela = find_jump_table(file, func, insn); rela 1103 tools/objtool/check.c if (rela) { rela 1104 tools/objtool/check.c rela->jump_table_start = true; rela 1105 tools/objtool/check.c insn->jump_table = rela; rela 1160 tools/objtool/check.c struct rela *rela; rela 1170 tools/objtool/check.c relasec = sec->rela; rela 1186 tools/objtool/check.c rela = find_rela_by_dest(sec, i * sizeof(*hint)); rela 1187 tools/objtool/check.c if (!rela) { rela 1192 tools/objtool/check.c insn = find_insn(file, rela->sym->sec, rela->addend); rela 1255 tools/objtool/check.c struct rela *rela; rela 1261 tools/objtool/check.c list_for_each_entry(rela, &sec->rela_list, list) { rela 1262 tools/objtool/check.c if (rela->sym->type != STT_SECTION) { rela 1267 tools/objtool/check.c insn = find_insn(file, rela->sym->sec, rela->addend); rela 42 tools/objtool/check.h struct rela *jump_table; rela 97 tools/objtool/elf.c struct rela *find_rela_by_dest_range(struct section *sec, unsigned long offset, rela 100 tools/objtool/elf.c struct rela *rela; rela 103 tools/objtool/elf.c if (!sec->rela) rela 107 tools/objtool/elf.c hash_for_each_possible(sec->rela->rela_hash, rela, hash, o) rela 108 tools/objtool/elf.c if (rela->offset == o) rela 109 tools/objtool/elf.c return rela; rela 114 tools/objtool/elf.c struct rela *find_rela_by_dest(struct section *sec, unsigned long offset) rela 353 tools/objtool/elf.c struct rela *rela; rela 368 tools/objtool/elf.c sec->base->rela = sec; rela 371 tools/objtool/elf.c rela = malloc(sizeof(*rela)); rela 372 tools/objtool/elf.c if (!rela) { rela 376 tools/objtool/elf.c memset(rela, 0, sizeof(*rela)); rela 378 tools/objtool/elf.c if (!gelf_getrela(sec->data, i, &rela->rela)) { rela 383 tools/objtool/elf.c rela->type = GELF_R_TYPE(rela->rela.r_info); rela 384 tools/objtool/elf.c rela->addend = rela->rela.r_addend; rela 385 tools/objtool/elf.c rela->offset = rela->rela.r_offset; rela 386 tools/objtool/elf.c symndx = GELF_R_SYM(rela->rela.r_info); rela 387 tools/objtool/elf.c rela->sym = find_symbol_by_index(elf, symndx); rela 388 tools/objtool/elf.c rela->sec = sec; rela 389 tools/objtool/elf.c if (!rela->sym) { rela 395 tools/objtool/elf.c list_add_tail(&rela->list, &sec->rela_list); rela 396 tools/objtool/elf.c hash_add(sec->rela_hash, &rela->hash, rela->offset); rela 580 tools/objtool/elf.c base->rela = sec; rela 594 tools/objtool/elf.c struct rela *rela; rela 599 tools/objtool/elf.c list_for_each_entry(rela, &sec->rela_list, list) rela 615 tools/objtool/elf.c list_for_each_entry(rela, &sec->rela_list, list) { rela 616 tools/objtool/elf.c relas[idx].r_offset = rela->offset; rela 617 tools/objtool/elf.c relas[idx].r_addend = rela->addend; rela 618 tools/objtool/elf.c relas[idx].r_info = GELF_R_INFO(rela->sym->idx, rela->type); rela 661 tools/objtool/elf.c struct rela *rela, *tmprela; rela 675 tools/objtool/elf.c list_for_each_entry_safe(rela, tmprela, &sec->rela_list, list) { rela 676 tools/objtool/elf.c list_del(&rela->list); rela 677 tools/objtool/elf.c hash_del(&rela->hash); rela 678 tools/objtool/elf.c free(rela); rela 33 tools/objtool/elf.h struct section *base, *rela; rela 59 tools/objtool/elf.h GElf_Rela rela; rela 83 tools/objtool/elf.h struct rela *find_rela_by_dest(struct section *sec, unsigned long offset); rela 84 tools/objtool/elf.h struct rela *find_rela_by_dest_range(struct section *sec, unsigned long offset, rela 73 tools/objtool/orc_dump.c GElf_Rela rela; rela 154 tools/objtool/orc_dump.c if (!gelf_getrela(rela_orc_ip, i, &rela)) { rela 159 tools/objtool/orc_dump.c if (!gelf_getsym(symtab, GELF_R_SYM(rela.r_info), &sym)) { rela 189 tools/objtool/orc_dump.c printf("%s+%llx:", name, (unsigned long long)rela.r_addend); rela 89 tools/objtool/orc_gen.c struct rela *rela; rela 101 tools/objtool/orc_gen.c rela = malloc(sizeof(*rela)); rela 102 tools/objtool/orc_gen.c if (!rela) { rela 106 tools/objtool/orc_gen.c memset(rela, 0, sizeof(*rela)); rela 108 tools/objtool/orc_gen.c rela->sym = insn_sec->sym; rela 109 tools/objtool/orc_gen.c rela->addend = insn_off; rela 110 tools/objtool/orc_gen.c rela->type = R_X86_64_PC32; rela 111 tools/objtool/orc_gen.c rela->offset = idx * sizeof(int); rela 113 tools/objtool/orc_gen.c list_add_tail(&rela->list, &ip_relasec->rela_list); rela 114 tools/objtool/orc_gen.c hash_add(ip_relasec->rela_hash, &rela->hash, rela->offset); rela 75 tools/objtool/special.c struct rela *orig_rela, *new_rela;