Lines Matching refs:module
22 void module_arch_freeing_init(struct module *mod) in module_arch_freeing_init()
28 static inline int check_rela(Elf32_Rela *rela, struct module *module, in check_rela() argument
33 info = module->arch.syminfo + ELF32_R_SYM(rela->r_info); in check_rela()
49 info->got_offset = module->arch.got_size; in check_rela()
50 module->arch.got_size += sizeof(void *); in check_rela()
61 char *secstrings, struct module *module) in module_frob_arch_sections() argument
79 printk(KERN_ERR "module %s: no symbol table\n", module->name); in module_frob_arch_sections()
84 module->arch.nsyms = symtab->sh_size / sizeof(Elf_Sym); in module_frob_arch_sections()
85 module->arch.syminfo = vmalloc(module->arch.nsyms in module_frob_arch_sections()
87 if (!module->arch.syminfo) in module_frob_arch_sections()
92 for (i = 0; i < module->arch.nsyms; i++) { in module_frob_arch_sections()
98 module->arch.syminfo[i].got_offset = -1UL; in module_frob_arch_sections()
99 module->arch.syminfo[i].got_initialized = 0; in module_frob_arch_sections()
103 module->arch.got_size = 0; in module_frob_arch_sections()
110 ret = check_rela(rela + j, module, in module_frob_arch_sections()
121 module->core_size = ALIGN(module->core_size, 4); in module_frob_arch_sections()
122 module->arch.got_offset = module->core_size; in module_frob_arch_sections()
123 module->core_size += module->arch.got_size; in module_frob_arch_sections()
128 vfree(module->arch.syminfo); in module_frob_arch_sections()
129 module->arch.syminfo = NULL; in module_frob_arch_sections()
134 static inline int reloc_overflow(struct module *module, const char *reloc_name, in reloc_overflow() argument
138 module->name, (unsigned long)relocation, reloc_name); in reloc_overflow()
147 struct module *module) in apply_relocate_add() argument
167 info = module->arch.syminfo + ELF32_R_SYM(rel->r_info); in apply_relocate_add()
180 gotent = (module->module_core in apply_relocate_add()
181 + module->arch.got_offset in apply_relocate_add()
200 return reloc_overflow(module, in apply_relocate_add()
216 return reloc_overflow(module, in apply_relocate_add()
229 return reloc_overflow(module, in apply_relocate_add()
240 return reloc_overflow(module, in apply_relocate_add()
257 relocation, module->arch.got_offset, in apply_relocate_add()
258 module->module_core); in apply_relocate_add()
259 relocation -= ((unsigned long)module->module_core in apply_relocate_add()
260 + module->arch.got_offset); in apply_relocate_add()
266 return reloc_overflow(module, "R_AVR32_GOT18SW", in apply_relocate_add()
273 return reloc_overflow(module, "R_AVR32_GOT16S", in apply_relocate_add()
285 module->name, ELF32_R_TYPE(rel->r_info)); in apply_relocate_add()