syscare/0042-upatch-manage-resolve-plt-firstly.patch
renoseven aaca4c9c5f update to 1.2.1-10
Signed-off-by: renoseven <dev@renoseven.net>
2024-08-16 16:44:21 +08:00

35 lines
1.1 KiB
Diff

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