1 Star 0 Fork 43

王域杰 / kpatch

forked from src-openEuler / kpatch 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0004-create-diff-object-support-skip-check-func-profiling.patch 1.49 KB
一键复制 编辑 原始数据 按行查看 历史
谢志鹏 提交于 2021-11-16 12:10 . rebase from upstream v0.9.5
From f82f5ff61b8087e203a994da3911a1c5f3dee978 Mon Sep 17 00:00:00 2001
From: Zhipeng Xie <xiezhipeng1@huawei.com>
Date: Sun, 14 Nov 2021 19:53:22 +0800
Subject: [PATCH 04/24] create-diff-object:support skip check func profiling
calls
when kernel support livepatch without ftrace, we can skip check
func profiling calls.
Signed-off-by: Zhipeng Xie <xiezhipeng1@huawei.com>
---
kpatch-build/create-diff-object.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c
index c20f75e..7247345 100644
--- a/kpatch-build/create-diff-object.c
+++ b/kpatch-build/create-diff-object.c
@@ -3773,6 +3773,7 @@ int main(int argc, char *argv[])
struct section *sec, *symtab;
char *orig_obj, *patched_obj, *parent_name;
char *parent_symtab, *mod_symvers, *patch_name, *output_obj;
+ char *no_profiling_calls = NULL;
memset(&arguments, 0, sizeof(arguments));
argp_parse (&argp, argc, argv, 0, NULL, &arguments);
@@ -3824,7 +3825,12 @@ int main(int argc, char *argv[])
kpatch_compare_correlated_elements(kelf_patched);
kpatch_mark_ignored_functions_same(kelf_patched);
kpatch_mark_ignored_sections_same(kelf_patched);
- kpatch_check_func_profiling_calls(kelf_patched);
+ no_profiling_calls = getenv("NO_PROFILING_CALLS");
+ if (!no_profiling_calls)
+ kpatch_check_func_profiling_calls(kelf_patched);
+ else
+ log_debug("NO_PROFILING_CALLS set\n");
+
kpatch_elf_teardown(kelf_orig);
kpatch_elf_free(kelf_orig);
--
2.23.0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/swmrw7/kpatch.git
git@gitee.com:swmrw7/kpatch.git
swmrw7
kpatch
kpatch
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891