Lines Matching full:location
156 static uint32_t do_plt_call(void *location, in do_plt_call() argument
163 pr_debug("Doing plt for call to 0x%x at 0x%x\n", val, (unsigned int)location); in do_plt_call()
165 if (location >= mod->core_layout.base in do_plt_call()
166 && location < mod->core_layout.base + mod->core_layout.size) in do_plt_call()
195 uint32_t *location; in apply_relocate_add() local
202 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add()
214 *(uint32_t *)location = value; in apply_relocate_add()
219 *(uint16_t *)location = value; in apply_relocate_add()
224 *(uint16_t *)location = (value >> 16); in apply_relocate_add()
232 *(uint16_t *)location = (value + 0x8000) >> 16; in apply_relocate_add()
236 if ((int)(value - (uint32_t)location) < -0x02000000 in apply_relocate_add()
237 || (int)(value - (uint32_t)location) >= 0x02000000) in apply_relocate_add()
238 value = do_plt_call(location, value, in apply_relocate_add()
242 pr_debug("REL24 value = %08X. location = %08X\n", in apply_relocate_add()
243 value, (uint32_t)location); in apply_relocate_add()
244 pr_debug("Location before: %08X.\n", in apply_relocate_add()
245 *(uint32_t *)location); in apply_relocate_add()
246 *(uint32_t *)location in apply_relocate_add()
247 = (*(uint32_t *)location & ~0x03fffffc) in apply_relocate_add()
248 | ((value - (uint32_t)location) in apply_relocate_add()
250 pr_debug("Location after: %08X.\n", in apply_relocate_add()
251 *(uint32_t *)location); in apply_relocate_add()
253 *(uint32_t *)location & 0x03fffffc, in apply_relocate_add()
254 (uint32_t)location, in apply_relocate_add()
255 (*(uint32_t *)location & 0x03fffffc) in apply_relocate_add()
256 + (uint32_t)location); in apply_relocate_add()
261 *(uint32_t *)location = value - (uint32_t)location; in apply_relocate_add()