For v4.17-rc1, the naming of syscall stubs changed. Update the
perf scripts/utils/tests which need to be aware of the syscall
stub naming accordingly.

Signed-off-by: Dominik Brodowski <li...@dominikbrodowski.net>

diff --git a/tools/perf/arch/powerpc/util/sym-handling.c 
b/tools/perf/arch/powerpc/util/sym-handling.c
index 53d83d7e6a09..9a970e334cea 100644
--- a/tools/perf/arch/powerpc/util/sym-handling.c
+++ b/tools/perf/arch/powerpc/util/sym-handling.c
@@ -32,10 +32,10 @@ int arch__choose_best_symbol(struct symbol *syma,
        if (*sym == '.')
                sym++;
 
-       /* Avoid "SyS" kernel syscall aliases */
-       if (strlen(sym) >= 3 && !strncmp(sym, "SyS", 3))
+       /* Avoid "__se_sys" kernel syscall aliases */
+       if (strlen(sym) >= 8 && !strncmp(sym,  "__se_sys", 8))
                return SYMBOL_B;
-       if (strlen(sym) >= 10 && !strncmp(sym, "compat_SyS", 10))
+       if (strlen(sym) >= 15 && !strncmp(sym, "__se_compat_sys", 15))
                return SYMBOL_B;
 
        return SYMBOL_A;
diff --git a/tools/perf/tests/bpf-script-example.c 
b/tools/perf/tests/bpf-script-example.c
index e4123c1b0e88..5839baa3d766 100644
--- a/tools/perf/tests/bpf-script-example.c
+++ b/tools/perf/tests/bpf-script-example.c
@@ -31,8 +31,8 @@ struct bpf_map_def SEC("maps") flip_table = {
        .max_entries = 1,
 };
 
-SEC("func=SyS_epoll_pwait")
-int bpf_func__SyS_epoll_pwait(void *ctx)
+SEC("func=__se_sys_epoll_pwait")
+int bpf_func____se_sys_epoll_pwait(void *ctx)
 {
        int ind =0;
        int *flag = bpf_map_lookup_elem(&flip_table, &ind);
diff --git a/tools/perf/util/c++/clang-test.cpp 
b/tools/perf/util/c++/clang-test.cpp
index 7b042a5ebc68..67a39ac8626d 100644
--- a/tools/perf/util/c++/clang-test.cpp
+++ b/tools/perf/util/c++/clang-test.cpp
@@ -41,7 +41,7 @@ int test__clang_to_IR(void)
        if (!M)
                return -1;
        for (llvm::Function& F : *M)
-               if (F.getName() == "bpf_func__SyS_epoll_pwait")
+               if (F.getName() == "bpf_func____se_sys_epoll_pwait")
                        return 0;
        return -1;
 }
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index 62b2dd2253eb..32e156992dfc 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -113,10 +113,11 @@ int __weak arch__compare_symbol_names_n(const char 
*namea, const char *nameb,
 int __weak arch__choose_best_symbol(struct symbol *syma,
                                    struct symbol *symb __maybe_unused)
 {
-       /* Avoid "SyS" kernel syscall aliases */
-       if (strlen(syma->name) >= 3 && !strncmp(syma->name, "SyS", 3))
+       /* Avoid "__se_sys" kernel syscall aliases */
+       if (strlen(syma->name) >= 8 && !strncmp(syma->name,  "__se_sys", 8))
                return SYMBOL_B;
-       if (strlen(syma->name) >= 10 && !strncmp(syma->name, "compat_SyS", 10))
+       if (strlen(syma->name) >= 15 &&
+               !strncmp(syma->name, "__se_compat_sys", 15))
                return SYMBOL_B;
 
        return SYMBOL_A;

Reply via email to