From c5422f8da6735efb5746c167fef01d9c20bd69e5 Mon Sep 17 00:00:00 2001 From: ningyu <405888464@qq.com> Date: Fri, 9 Aug 2024 14:18:50 +0800 Subject: [PATCH] upatch-manage: resolve plt firstly Signed-off-by: ningyu <405888464@qq.com> --- upatch-manage/upatch-resolve.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/upatch-manage/upatch-resolve.c b/upatch-manage/upatch-resolve.c index 197ea2f..5f1c2de 100644 --- a/upatch-manage/upatch-resolve.c +++ b/upatch-manage/upatch-resolve.c @@ -254,12 +254,12 @@ static unsigned long resolve_symbol(struct upatch_elf *uelf, * Approach 3 is more general, but difficulty to implement. */ - /* resolve from got */ - elf_addr = resolve_rela_dyn(uelf, obj, name, &patch_sym); + /* resolve from plt */ + elf_addr = resolve_rela_plt(uelf, obj, name, &patch_sym); - /* resolve from plt */ + /* resolve from got */ if (!elf_addr) { - elf_addr = resolve_rela_plt(uelf, obj, name, &patch_sym); + elf_addr = resolve_rela_dyn(uelf, obj, name, &patch_sym); } /* resolve from dynsym */ -- 2.34.1