Lines Matching full:location

157 static uint32_t do_plt_call(void *location,  in do_plt_call()  argument
164 pr_debug("Doing plt for call to 0x%x at 0x%x\n", val, (unsigned int)location); in do_plt_call()
166 if (location >= mod->core_layout.base in do_plt_call()
167 && location < mod->core_layout.base + mod->core_layout.size) in do_plt_call()
206 uint32_t *location; in apply_relocate_add() local
213 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add()
225 *(uint32_t *)location = value; in apply_relocate_add()
230 if (patch_location_16(location, PPC_LO(value))) in apply_relocate_add()
236 if (patch_location_16(location, PPC_HI(value))) in apply_relocate_add()
241 if (patch_location_16(location, PPC_HA(value))) in apply_relocate_add()
246 if ((int)(value - (uint32_t)location) < -0x02000000 in apply_relocate_add()
247 || (int)(value - (uint32_t)location) >= 0x02000000) { in apply_relocate_add()
248 value = do_plt_call(location, value, in apply_relocate_add()
255 pr_debug("REL24 value = %08X. location = %08X\n", in apply_relocate_add()
256 value, (uint32_t)location); in apply_relocate_add()
257 pr_debug("Location before: %08X.\n", in apply_relocate_add()
258 *(uint32_t *)location); in apply_relocate_add()
259 value = (*(uint32_t *)location & ~PPC_LI_MASK) | in apply_relocate_add()
260 PPC_LI(value - (uint32_t)location); in apply_relocate_add()
262 if (patch_instruction(location, ppc_inst(value))) in apply_relocate_add()
265 pr_debug("Location after: %08X.\n", in apply_relocate_add()
266 *(uint32_t *)location); in apply_relocate_add()
268 *(uint32_t *)PPC_LI((uint32_t)location), (uint32_t)location, in apply_relocate_add()
269 (*(uint32_t *)PPC_LI((uint32_t)location)) + (uint32_t)location); in apply_relocate_add()
274 *(uint32_t *)location = value - (uint32_t)location; in apply_relocate_add()