Lines Matching refs:arch
264 kfree(mod->arch.section); in module_arch_freeing_init()
265 mod->arch.section = NULL; in module_arch_freeing_init()
274 return (mod->arch.section[section].stub_entries + 1) in arch_mod_section_prepend()
288 len = hdr->e_shnum * sizeof(me->arch.section[0]); in module_frob_arch_sections()
289 me->arch.section = kzalloc(len, GFP_KERNEL); in module_frob_arch_sections()
290 if (!me->arch.section) in module_frob_arch_sections()
300 me->arch.unwind_section = i; in module_frob_arch_sections()
325 WARN_ON(me->arch.section[s].stub_entries); in module_frob_arch_sections()
328 me->arch.section[s].stub_entries += count; in module_frob_arch_sections()
334 me->arch.got_offset = mod_mem->size; in module_frob_arch_sections()
338 me->arch.fdesc_offset = mod_mem->size; in module_frob_arch_sections()
341 me->arch.got_max = gots; in module_frob_arch_sections()
342 me->arch.fdesc_max = fdescs; in module_frob_arch_sections()
357 got = me->mem[MOD_TEXT].base + me->arch.got_offset; in get_got()
362 BUG_ON(++me->arch.got_count > me->arch.got_max); in get_got()
375 Elf_Fdesc *fdesc = me->mem[MOD_TEXT].base + me->arch.fdesc_offset; in get_fdesc()
389 BUG_ON(++me->arch.fdesc_count > me->arch.fdesc_max); in get_fdesc()
393 fdesc->gp = (Elf_Addr)me->mem[MOD_TEXT].base + me->arch.got_offset; in get_fdesc()
411 if (!me->arch.section[targetsec].stub_offset) { in get_stub()
412 loc0 -= (me->arch.section[targetsec].stub_entries + 1) * in get_stub()
416 me->arch.section[targetsec].stub_offset = loc0; in get_stub()
420 stub = (void *) me->arch.section[targetsec].stub_offset; in get_stub()
421 me->arch.section[targetsec].stub_offset += sizeof(struct stub_entry); in get_stub()
424 BUG_ON(0 == me->arch.section[targetsec].stub_entries--); in get_stub()
820 if (!me->arch.unwind_section) in register_unwind_table()
823 table = (unsigned char *)sechdrs[me->arch.unwind_section].sh_addr; in register_unwind_table()
824 end = table + sechdrs[me->arch.unwind_section].sh_size; in register_unwind_table()
825 gp = (Elf_Addr)me->mem[MOD_TEXT].base + me->arch.got_offset; in register_unwind_table()
828 me->arch.unwind_section, table, end, gp); in register_unwind_table()
829 me->arch.unwind = unwind_table_add(me->name, 0, gp, table, end); in register_unwind_table()
835 if (me->arch.unwind) in deregister_unwind_table()
836 unwind_table_remove(me->arch.unwind); in deregister_unwind_table()
863 me->arch.got_count, me->arch.got_max, in module_finalize()
864 me->arch.fdesc_count, me->arch.fdesc_max); in module_finalize()
888 if(me->arch.got_count > MAX_GOTS) { in module_finalize()
890 me->name, me->arch.got_count, MAX_GOTS); in module_finalize()
894 kfree(me->arch.section); in module_finalize()
895 me->arch.section = NULL; in module_finalize()
964 mod->arch.fdesc_offset; in dereference_module_function_descriptor()
966 mod->arch.fdesc_count * sizeof(Elf64_Fdesc); in dereference_module_function_descriptor()