patch 1933 opal/mca/event/libevent2022/libevent/test/regress.c int major, minor, patch, n; patch 1944 opal/mca/event/libevent2022/libevent/test/regress.c n = sscanf(vstr, "%d.%d.%d", &major, &minor, &patch); patch 1946 opal/mca/event/libevent2022/libevent/test/regress.c tt_int_op((vint&0xffffff00), ==, ((major<<24)|(minor<<16)|(patch<<8))); patch 68 opal/mca/patcher/base/base.h OPAL_DECLSPEC void mca_base_patcher_patch_apply_binary (mca_patcher_base_patch_t *patch); patch 63 opal/mca/patcher/base/patcher_base_frame.c mca_patcher_base_patch_t *patch; patch 64 opal/mca/patcher/base/patcher_base_frame.c OPAL_LIST_FOREACH_REV(patch, &opal_patcher->patch_list, mca_patcher_base_patch_t) { patch 65 opal/mca/patcher/base/patcher_base_frame.c patch->patch_restore (patch); patch 22 opal/mca/patcher/base/patcher_base_patch.c static void mca_patcher_base_patch_construct (mca_patcher_base_patch_t *patch) patch 24 opal/mca/patcher/base/patcher_base_patch.c patch->patch_symbol = NULL; patch 25 opal/mca/patcher/base/patcher_base_patch.c patch->patch_data_size = 0; patch 28 opal/mca/patcher/base/patcher_base_patch.c static void mca_patcher_base_patch_destruct (mca_patcher_base_patch_t *patch) patch 30 opal/mca/patcher/base/patcher_base_patch.c free (patch->patch_symbol); patch 171 opal/mca/patcher/base/patcher_base_patch.c static void mca_base_patcher_patch_unapply_binary (mca_patcher_base_patch_t *patch) patch 173 opal/mca/patcher/base/patcher_base_patch.c apply_patch (patch->patch_orig_data, patch->patch_orig, patch->patch_data_size); patch 176 opal/mca/patcher/base/patcher_base_patch.c void mca_base_patcher_patch_apply_binary (mca_patcher_base_patch_t *patch) patch 178 opal/mca/patcher/base/patcher_base_patch.c memcpy (patch->patch_orig_data, (void *) patch->patch_orig, patch->patch_data_size); patch 179 opal/mca/patcher/base/patcher_base_patch.c apply_patch (patch->patch_data, patch->patch_orig, patch->patch_data_size); patch 180 opal/mca/patcher/base/patcher_base_patch.c patch->patch_restore = mca_base_patcher_patch_unapply_binary; patch 43 opal/mca/patcher/linux/patcher_linux_module.c mca_patcher_linux_patch_t *patch; patch 50 opal/mca/patcher/linux/patcher_linux_module.c static void mca_patcher_linux_patch_construct (mca_patcher_linux_patch_t *patch) patch 52 opal/mca/patcher/linux/patcher_linux_module.c OBJ_CONSTRUCT(&patch->patch_got_list, opal_list_t); patch 55 opal/mca/patcher/linux/patcher_linux_module.c static void mca_patcher_linux_patch_destruct (mca_patcher_linux_patch_t *patch) patch 57 opal/mca/patcher/linux/patcher_linux_module.c OPAL_LIST_DESTRUCT(&patch->patch_got_list); patch 179 opal/mca/patcher/linux/patcher_linux_module.c entry = mca_patcher_linux_get_got_entry (base, phdr, phnum, phent, ctx->patch->super.patch_symbol); patch 193 opal/mca/patcher/linux/patcher_linux_module.c if (*entry != (void *) ctx->patch->super.patch_value) { patch 200 opal/mca/patcher/linux/patcher_linux_module.c "patch %p (%s): modifying got entry %p. original value %p. new value %p\n", (void *)ctx->patch, patch 201 opal/mca/patcher/linux/patcher_linux_module.c ctx->patch->super.patch_symbol, (void *) entry, *entry, (void *) ctx->patch->super.patch_value); patch 206 opal/mca/patcher/linux/patcher_linux_module.c opal_list_append (&ctx->patch->patch_got_list, &patch_got->super); patch 208 opal/mca/patcher/linux/patcher_linux_module.c *entry = (void *) ctx->patch->super.patch_value; patch 213 opal/mca/patcher/linux/patcher_linux_module.c OPAL_LIST_FOREACH_REV(patch_got, &ctx->patch->patch_got_list, mca_patcher_linux_patch_got_t) { patch 217 opal/mca/patcher/linux/patcher_linux_module.c if (*entry == (void *) ctx->patch->super.patch_value) { patch 220 opal/mca/patcher/linux/patcher_linux_module.c opal_list_remove_item (&ctx->patch->patch_got_list, &patch_got->super); patch 254 opal/mca/patcher/linux/patcher_linux_module.c static int mca_patcher_linux_apply_patch (mca_patcher_linux_patch_t *patch) patch 257 opal/mca/patcher/linux/patcher_linux_module.c .patch = patch, patch 270 opal/mca/patcher/linux/patcher_linux_module.c static int mca_patcher_linux_remove_patch (mca_patcher_linux_patch_t *patch) patch 273 opal/mca/patcher/linux/patcher_linux_module.c .patch = patch, patch 289 opal/mca/patcher/linux/patcher_linux_module.c mca_patcher_linux_patch_t *patch; patch 301 opal/mca/patcher/linux/patcher_linux_module.c OPAL_LIST_FOREACH(patch, &mca_patcher_linux_module.patch_list, mca_patcher_linux_patch_t) { patch 302 opal/mca/patcher/linux/patcher_linux_module.c if (!patch->super.patch_data_size) { patch 304 opal/mca/patcher/linux/patcher_linux_module.c "in dlopen(), re-applying '%s' to %p", patch->super.patch_symbol, (void *) patch->super.patch_value); patch 306 opal/mca/patcher/linux/patcher_linux_module.c mca_patcher_linux_apply_patch (patch); patch 340 opal/mca/patcher/linux/patcher_linux_module.c mca_patcher_linux_patch_t *patch = OBJ_NEW(mca_patcher_linux_patch_t); patch 343 opal/mca/patcher/linux/patcher_linux_module.c if (OPAL_UNLIKELY(NULL == patch)) { patch 347 opal/mca/patcher/linux/patcher_linux_module.c patch->super.patch_symbol = strdup (symbol_name); patch 348 opal/mca/patcher/linux/patcher_linux_module.c if (NULL == patch->super.patch_symbol) { patch 349 opal/mca/patcher/linux/patcher_linux_module.c OBJ_RELEASE(patch); patch 353 opal/mca/patcher/linux/patcher_linux_module.c patch->super.patch_value = mca_patcher_base_addr_text (replacement); patch 354 opal/mca/patcher/linux/patcher_linux_module.c patch->super.patch_restore = (mca_patcher_base_restore_fn_t) mca_patcher_linux_remove_patch; patch 361 opal/mca/patcher/linux/patcher_linux_module.c rc = mca_patcher_base_patch_hook (&mca_patcher_linux_module, patch->super.patch_value); patch 363 opal/mca/patcher/linux/patcher_linux_module.c OBJ_RELEASE(patch); patch 367 opal/mca/patcher/linux/patcher_linux_module.c rc = mca_patcher_linux_apply_patch (patch); patch 369 opal/mca/patcher/linux/patcher_linux_module.c OBJ_RELEASE(patch); patch 373 opal/mca/patcher/linux/patcher_linux_module.c *orig = mca_patcher_linux_get_orig (patch->super.patch_symbol, (void *) replacement); patch 375 opal/mca/patcher/linux/patcher_linux_module.c opal_list_append (&mca_patcher_linux_module.patch_list, &patch->super.super); patch 87 opal/mca/patcher/overwrite/patcher_overwrite_module.c static int mca_patcher_overwrite_apply_patch (mca_patcher_base_patch_t *patch) patch 89 opal/mca/patcher/overwrite/patcher_overwrite_module.c uintptr_t func_new_addr = patch->patch_value; patch 93 opal/mca/patcher/overwrite/patcher_overwrite_module.c patch->patch_data_size = 5; patch 94 opal/mca/patcher/overwrite/patcher_overwrite_module.c *(unsigned char *)(patch->patch_data+0) = 0xe9; patch 95 opal/mca/patcher/overwrite/patcher_overwrite_module.c *(unsigned int *) (patch->patch_data+1) = (unsigned int)(func_new_addr - patch->patch_orig - 5); patch 97 opal/mca/patcher/overwrite/patcher_overwrite_module.c patch->patch_data_size = 13; patch 98 opal/mca/patcher/overwrite/patcher_overwrite_module.c *(unsigned short*)(patch->patch_data + 0) = 0xbb49; patch 99 opal/mca/patcher/overwrite/patcher_overwrite_module.c *(unsigned long* )(patch->patch_data + 2) = (unsigned long) func_new_addr; patch 100 opal/mca/patcher/overwrite/patcher_overwrite_module.c *(unsigned char*) (patch->patch_data +10) = 0x41; patch 101 opal/mca/patcher/overwrite/patcher_overwrite_module.c *(unsigned char*) (patch->patch_data +11) = 0xff; patch 102 opal/mca/patcher/overwrite/patcher_overwrite_module.c *(unsigned char*) (patch->patch_data +12) = 0xe3; patch 110 opal/mca/patcher/overwrite/patcher_overwrite_module.c unsigned long long imm64 = func_new_addr - patch->patch_orig - 16; patch 138 opal/mca/patcher/overwrite/patcher_overwrite_module.c patch->patch_data_size = 32; patch 142 opal/mca/patcher/overwrite/patcher_overwrite_module.c patch->patch_data[16-i-1] = buf[i]; patch 147 opal/mca/patcher/overwrite/patcher_overwrite_module.c patch->patch_data[32-i-1] = buf[i]; patch 153 opal/mca/patcher/overwrite/patcher_overwrite_module.c mca_base_patcher_patch_apply_binary (patch); patch 203 opal/mca/patcher/overwrite/patcher_overwrite_module.c static int mca_patcher_overwrite_apply_patch (mca_patcher_base_patch_t *patch) patch 209 opal/mca/patcher/overwrite/patcher_overwrite_module.c sys_addr = mca_patcher_base_addr_text(patch->patch_orig); patch 210 opal/mca/patcher/overwrite/patcher_overwrite_module.c hook_addr = mca_patcher_base_addr_text(patch->patch_value); patch 229 opal/mca/patcher/overwrite/patcher_overwrite_module.c offset = PatchLoadImm ((uintptr_t) patch->patch_data, gr, hook_addr); patch 230 opal/mca/patcher/overwrite/patcher_overwrite_module.c *(unsigned int *) (patch->patch_data + offset + 0) = mtspr (9, gr); // 9 = CTR patch 231 opal/mca/patcher/overwrite/patcher_overwrite_module.c *(unsigned int *) (patch->patch_data + offset + 4) = bcctr (20, 0, 0);// 20 = always patch 232 opal/mca/patcher/overwrite/patcher_overwrite_module.c patch->patch_data_size = offset + 8; patch 233 opal/mca/patcher/overwrite/patcher_overwrite_module.c patch->patch_orig = sys_addr; patch 235 opal/mca/patcher/overwrite/patcher_overwrite_module.c mca_base_patcher_patch_apply_binary (patch); patch 281 opal/mca/patcher/overwrite/patcher_overwrite_module.c static int mca_patcher_overwrite_apply_patch (mca_patcher_base_patch_t *patch) patch 287 opal/mca/patcher/overwrite/patcher_overwrite_module.c sys_addr = mca_patcher_base_addr_text(patch->patch_orig); patch 288 opal/mca/patcher/overwrite/patcher_overwrite_module.c hook_addr = mca_patcher_base_addr_text(patch->patch_value); patch 301 opal/mca/patcher/overwrite/patcher_overwrite_module.c offset = PatchLoadImm ((uintptr_t) patch->patch_data, gr, hook_addr); patch 302 opal/mca/patcher/overwrite/patcher_overwrite_module.c *(uint32_t *) (patch->patch_data + offset) = br(gr); patch 303 opal/mca/patcher/overwrite/patcher_overwrite_module.c patch->patch_data_size = offset + 4; patch 304 opal/mca/patcher/overwrite/patcher_overwrite_module.c patch->patch_orig = sys_addr; patch 306 opal/mca/patcher/overwrite/patcher_overwrite_module.c mca_base_patcher_patch_apply_binary (patch); patch 315 opal/mca/patcher/overwrite/patcher_overwrite_module.c mca_patcher_base_patch_t *patch; patch 318 opal/mca/patcher/overwrite/patcher_overwrite_module.c patch = OBJ_NEW(mca_patcher_base_patch_t); patch 319 opal/mca/patcher/overwrite/patcher_overwrite_module.c if (OPAL_UNLIKELY(NULL == patch)) { patch 323 opal/mca/patcher/overwrite/patcher_overwrite_module.c patch->patch_orig = sys_addr; patch 324 opal/mca/patcher/overwrite/patcher_overwrite_module.c patch->patch_value = hook_addr; patch 328 opal/mca/patcher/overwrite/patcher_overwrite_module.c rc = mca_patcher_overwrite_apply_patch (patch); patch 333 opal/mca/patcher/overwrite/patcher_overwrite_module.c opal_list_append (&mca_patcher_overwrite_module.patch_list, &patch->super);