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()
202 uint32_t *location; in apply_relocate_add() local
209 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add()
221 *(uint32_t *)location = value; in apply_relocate_add()
226 *(uint16_t *)location = value; in apply_relocate_add()
231 *(uint16_t *)location = (value >> 16); in apply_relocate_add()
239 *(uint16_t *)location = (value + 0x8000) >> 16; in apply_relocate_add()
243 if ((int)(value - (uint32_t)location) < -0x02000000 in apply_relocate_add()
244 || (int)(value - (uint32_t)location) >= 0x02000000) in apply_relocate_add()
245 value = do_plt_call(location, value, in apply_relocate_add()
249 pr_debug("REL24 value = %08X. location = %08X\n", in apply_relocate_add()
250 value, (uint32_t)location); in apply_relocate_add()
251 pr_debug("Location before: %08X.\n", in apply_relocate_add()
252 *(uint32_t *)location); in apply_relocate_add()
253 *(uint32_t *)location in apply_relocate_add()
254 = (*(uint32_t *)location & ~0x03fffffc) in apply_relocate_add()
255 | ((value - (uint32_t)location) in apply_relocate_add()
257 pr_debug("Location after: %08X.\n", in apply_relocate_add()
258 *(uint32_t *)location); in apply_relocate_add()
260 *(uint32_t *)location & 0x03fffffc, in apply_relocate_add()
261 (uint32_t)location, in apply_relocate_add()
262 (*(uint32_t *)location & 0x03fffffc) in apply_relocate_add()
263 + (uint32_t)location); in apply_relocate_add()
268 *(uint32_t *)location = value - (uint32_t)location; in apply_relocate_add()