Depending on how vmlinux.lds is written, _etext might be the very
first data symbol instead of the very last text symbol.

Don't require it to be a text symbol, accept any symbol type.

Fixes: ed9adb2035b5 ("perf machine: Read also the end of the kernel")
Signed-off-by: Christophe Leroy <christophe.le...@csgroup.eu>
---
 tools/perf/util/machine.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 27d5345d2b30..9be2f4479f52 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1003,7 +1003,7 @@ static int machine__get_running_kernel_start(struct 
machine *machine,
 
        err = kallsyms__get_symbol_start(filename, "_edata", &addr);
        if (err)
-               err = kallsyms__get_function_start(filename, "_etext", &addr);
+               err = kallsyms__get_symbol_start(filename, "_etext", &addr);
        if (!err)
                *end = addr;
 
-- 
2.47.0


Reply via email to